Ответить Новая тема Новый опрос 
 Выбор оплаты с помощью радиобатон
pukinnet
Новичок
Сообщений: 19
Регистрация: 28-10-2010


11-09-2011 05:56
Встала необходимость довести до ума последний этап оформления заказа, т.е. выбора метода оплаты. Судя по отзывам часто на этом этапе ступорит посетителей, да и сам при первом знакомстве с движком столкнулся с проблемой, не знал что там нажимать. Оптимальный вариант - использование радиобатонов. Итак, например, имея один способ оплаты (банковский перевод), модифиципровав слегка его код получим:
Код:
<div id="HOOK_PAYMENT">
<p class="payment_module">
<input class="metod_payment" type="radio" value="http://mysite.ru/modules/bankwire/payment.php">
<img width="86" height="49" alt="Оплата банковским переводом" src="/modules/bankwire/bankwire.jpg">
Оплата банковским переводом (время оплаты будет дольше)
</p>
</div>

Добавим в файл order-payment.tpl клавишу перехода на следующую страницу и получим следующее:
Код:
<p class="cart_navigation">
<a class="button" title="Назад" href="http://mysite.ru/order.php?step=2">« Назад</a>
<input class="exclusive" type="button" value="Вперед »" name="">
</p>

Теперь согласно логике нужен скрипт, который при нажатии на кнопку "Вперед" из input-ов выбора метода оплаты будет вытягивать в массив значение value с ссылкой и производить переход на нее. У меня получился такой скрипт
Код:
$('.exclusive').click(funtion(){
var arr = $('input.metod_payment:checked');
location.replace('arr.value');
})

Я его подключил, но перехода на страницу подтверждения оплаты не происходит. Кто разбирается в Javascript, помогите заставить скрипт работать.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pukinnet
Новичок
Сообщений: 19
Регистрация: 28-10-2010


12-09-2011 02:58
Решил проблему следующим образом. В файле order-payment.tpl в код клавиши перехода "Вперед" добавил действие onclick="next()", т.е. получим
Код:
<input type="button" name="" value="{l s='Next'} &raquo;" class="exclusive" onclick="next()" />

Скрипт заменил на
Код:
function next() {
    var radios=document.getElementById("HOOK_PAYMENT").getElementsByTagName("INPUT"),
        radio
    for (var i=0, L=radios.length; i<L; i++) {
        radio=radios[i]
        if (radio.checked) {location.href=radio.value; break}
    }
}

Теперь все работакет как надо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Riva
Новичок
Сообщений: 72
Регистрация: 03-06-2012


09-12-2016 21:39
Вот это бы только для 1.6 :)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос