Здраствуйте, возникла такая проблема. Есть валидация полей на различные параметры в javascript. Проверка количества выбранных чекбоксов проходит нормально в любом браузере и при неправильном выборе выводится окно сообщения alert с текстом заданной ошибки. Так вот в при нажатии "OK" окна сообщения в браузере Mozilla, да и в других, перезагрузки страницы не происходит, а в IE происходит перезагрузка что совершенно не желательно. Подскажите пожалуйста в чём может быть причина и есть какое нибудь универсально средство. Если возможно подтолкните где искать решение проблемы. [js] ... alert(strErr); return false; ... [/js] Спасибо!!!
добрый вечер событие какое, onsubmit или onclick? приведите, пожалуйста, код всего тега, где определено событие
Это подсчёт количества выбранных чекбоксов. [js] ... <script language = "JavaScript"> function count_checked_checkboxes (obj, counter_input) { var parent_tag = obj.parentNode.parentNode; var counter_input_obj = document.getElementById (counter_input); counter_input_obj.value = 0; var checkboxes = parent_tag.getElementsByTagName("input"); for (var i=0;i<checkboxes.length;i++) { if (checkboxes.checked) { counter_input_obj.value ++; } } } function CheckCB(Element){ if(document.getElementById) { if(document.getElementById(Element.id.replace('cb','tr'))){Element.checked = !Element.checked;} } } </script> .... <input type = "hidden" value = "0" name = "languages_count" id = "languages_count"> <INPUT onchange="count_checked_checkboxes(document.getElementById('languages_count'), 'languages_count');return CheckCB(this);" type=checkbox value=1> .... <script language="JavaScript" type="text/javascript"> var frmvalidator = new Validator("changeprofile"); frmvalidator.addValidation("interests_count", "lt=<?php echo $checkboxes_int_max+1; ?>","Count of your interests must be less or equal <?php echo $checkboxes_int_max; ?>"); frmvalidator.addValidation("interests_count", "gt=<?php echo $checkboxes_int_min-1; ?>","Count of your interests must be great or equal <?php echo $checkboxes_int_min; ?>"); .... [/js] Прерывание происходит в инклуденном скрипте вот кусок кода где оно происходит: [js]case "lt": case "lessthan": { if(isNaN(objValue.value)) { alert(objValue.name+": Should be a number "); return false; }//if if(eval(objValue.value) >= eval(cmdvalue)) { if(!strError || strError.length ==0) { strError = objValue.name + " : value should be less than "+ cmdvalue; }//if alert(strError); return false; }//if break; }//case lessthan case "gt": case "greaterthan": { if(isNaN(objValue.value)) { alert(objValue.name+": Should be a number "); return false; }//if if(eval(objValue.value) <= eval(cmdvalue)) { if(!strError || strError.length ==0) { strError = objValue.name + " : value should be greater than "+ cmdvalue; }//if alert(strError); return false; }//if break; }//case greaterthan [/js]
сейчас меня бить будут наверное за такой совет) попробуйте отправлять форму после проверки самим яваскриптом)