Что делаю не так? Javascript + Radio button + Input
При оформлении заказа в магазине на шаге выбора платежей имеется несколько radio button для выбора платежной системы. В зависимости от того, какая будет выбрана платежная система, будет добавляться её соответствующий код.
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_3" value="3" checked="checked"> <input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_6" value="6"> <input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_7" value="7"> Для проверки выбора radio button использую такой скрипт:
<script type="text/javascript">
var radios = document.getElementsByTagName('input');
var value;
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === 'radio' && radios[i].checked && radios[i].name === 'virtuemart_paymentmethod_id') {
// alert(value = radios[i].value);
if (value = radios[i].value==3)
{
//--></script>
<input type="hidden" name="jl_payment_methods" value="ACC" />
<script type="text/javascript">
}
if (value = radios[i].value==6)
{
//--></script>
<input type="hidden" name="jl_payment_methods" value="VSA" />
<script type="text/javascript">
if (value = radios[i].value==7)
{
//--></script>
<input type="hidden" name="jl_payment_methods" value="skrill" />
<script type="text/javascript">
}
}
}
}
</script>
Если убрать две последних проверки значения if 6 и 7, то сам кусок кода работает. Подскажите как исправить? |
1.Плохой код.Невозможно читать.
2.Комментарий в скрипте не нужно употреблять //--></script>. Ушли те браузерЫ ,для которых они были нужны. 3.Зачем тебе столько много тегов скрипт??Все в один(в твоем случае). 4.Проверка radios[i].type === 'radio' && radios[i].checked && radios[i].name === 'virtuemart_paymentmethod_id' Намудрил.Зачем тебе проверка на radios[i].type === 'radio' и name === 'virtuemart_paymentmethod_id'.Если можно выбрать одно.У тебя же не будет других полей кроме этих радио-кнопок с таким именем. 5.Использовать проверку if() можно и так:
if(){
if(){
if(){
}else{}
}else{
}
}else{}
или использовать оператор switch |
<div id="myDiv">
<input type="radio" name="payment" value="ACC">
<input type="radio" name="payment" value="VSA">
<input type="radio" name="payment" value="skrill">
</div>
<script>
function payment(e) {
var e = e || event;
var target = event.target || event.srcElement;
var value = target.value;
switch (value) {
case 'ACC': {alert('код ' + value); break}
case 'VSA': {alert('код ' + value); break}
case 'skrill': {alert('код ' + value)}
}
}
myDiv.onclick = payment;
</script>
|
Цитата:
|
| Часовой пояс GMT +3, время: 02:59. |