Скрыть поле по выбору радиобаттон
Здравствуйте
В оформлении заказа нужно скрыть поле "Номер паспорта", если выбрать радиобаттон "Доставка по Москве". На отдельной страничке все работает: http://www.glassbus.ru/Untitled-4.php Но на самом сайте JS упорно не хочет скрывать это поле. Возможно, есть конфликт джаваскриптов - Вариант доставки и Способ оплаты зависимы друг от друга. Здесь тестирую (нажмите кнопку Купить и перейдете в оформлении заказа): http://www.glassbus.ru/test/vm.html?page=shop.product_details&product_id=2&cat egory_id=1&flypage=flypage.tpl Пожалуйста, помогите Вот JS: <script type="text/javascript"> var inp = document.getElementsByName('shipping_rate_id'); var fax_txt = document.getElementById('vm_pasport_div'); var fax_inp = document.getElementById('vm_pasport_input'); function func (elm) { if (elm.id == "hasha917f3643fcc7141bc83f55fb83a6c62" && elm.checked){ fax_txt.style.display = "none"; fax_inp.style.display = "none"; }else{ fax_txt.style.display = ""; fax_inp.style.display = ""; } } for (var i=0;i<inp.length;i++){ inp[i].onchange = function () {func(this)}; } </script> |
Вы б лучше консолью пользовались, тогда б вопросы не возникали.
Это что такое? function getPaymentId() { return getValueOfSPaymentMethod(); var radioObj = document.getElementsByName("payment_method_id"); if (!radioObj) return ""; var radioL = radioObj.length; if (radioL == undefined) if (radioObj.checked) return radioObj.value; else return ""; for (var i=0; i< radioL; i++) if (radioObj[i].checked) { return radioObj[i].value; } /* if (radioObj.length == 1) { if (radioObj[0].type == 'hidden') return radioObj[0].value; } */ return ""; } |
Lemme, у меня сайт на joomla, установил компонент One Page Checkout (оформление заказа virtuemart на одной странице)
Функция getPaymentId из этого компонента. Что в ней не так, я не знаю. Если можете - помогите. |
Дело в том, что после 3й строки - код никогда не отработает.... Но не суть.
Код должен выглядеть примерно так, все остальные нюансы уже поправите сами. var cb = document.getElementById('hasha917f3643fcc7141bc83f55fb83a6c62'), // passport radio button fd = document.getElementById('vm_pasport_field'); // passport field cb.onchange = function() { if (this.checked) { fd.style.display = 'none'; } else { fd.style.display = 'block'; } } |
Lemme, применил ваш JS, поле с паспортом все равно не скрывается..
|
sashgera, не знаю, куда вы его применили, но у меня скрывает (криво), не все, но скрывает.
<iframe width="560" height="315" src="https://www.youtube.com/embed/SBlWkb-Vpqg" frameborder="0" allowfullscreen></iframe> |
Lemme, JS разместил в шаблоне компонента
components/com_virtuemart/themes/default/templates/onepage/onepage.unlogged.tpl.php ![]() |
скрыть поле не получается :help:
|
Цитата:
|
sashgera, не представляю, ибо никаких ошибок нет. Кроме
SyntaxError: unreachable code after return statement, но вы говорите, что это не ваш код. Смотрите, у в вашей форме есть radio button Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 06:37. |