Что делаю не так? 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, время: 20:33. |