не всегда работает скрипт в internet explorer
На странице в форме реализована проверка полей на валидность средствами javascript. На некоторых машинах в IE этот скрипт не работает и сразу идет отправка данных на сервер. Вызов скрипта прописан в форме на событие on submit: onsubmit="return checkAllFields();" . При попытке посмотреть ошибку в дебаггере для ИЕ ошибка исчезает и скрипт выполняется. Дополнительная информация - сайт на CMS contrexx.
function checkAllFields() { var isOk = true; $J('.help_field').each(function(){ if(this.title == this.value){ this.value = ''; } }); $J('#contactFormError').css('display', 'none'); $J('#insert_error_here').html(''); for (var field in fields) { var type = fields[field][3]; if (type == 'text' || type == 'password' || type == 'textarea' || type == 'date' ) { value = document.getElementsByName('contactFormField_' + field)[0].value; if (value == "" && isRequiredNorm(fields[field][1], value)) { var err_text_example = 'Bitte füllen Sie das Pflichtfeld "{field}" aus!'; if(field == 243 || field == 240 || field == 239 || field == 238){//text err_text_example = ' Bitte das Feld "{field}" im Text-Format ausfüllen' }else if(field == 77){//date err_text_example = ' Bitte das Datum im Format 31.08.2015 eingeben'; }else if(field == 242 || field == 244){//nummer err_text_example = ' Bitte das Feld "{field}" im Zahlenformat " ausfüllen'; }else if(field == 245 || field == 246){//emeil err_text_example = ' Bitte Ihre Email-Adresse im Format "user@host.de" eingeben.' } add_error(err_text_example, field);//required isOk = false; document.getElementsByName('contactFormField_' + field)[0].style.border = "red 1px solid"; } else if (value != "" && !matchType(fields[field][2], value)) { var err_text_example = 'Bitte füllen Sie das Feld "{field}" richtig aus!'; if(field == 243 || field == 240 || field == 239 || field == 238){//text err_text_example = ' Bitte das Feld "{field}" im Text-Format ausfüllen' }else if(field == 77){//date err_text_example = ' Bitte das Datum im Format 31.08.2015 eingeben'; }else if(field == 242 || field == 244){//nummer err_text_example = ' Bitte das Feld "{field}" im Zahlenformat " ausfüllen'; }else if(field == 245 || field == 246){//emeil err_text_example = ' Bitte Ihre Email-Adresse im Format "user@host.de" eingeben.' } add_error(err_text_example, field);//wrong type isOk = false; document.getElementsByName('contactFormField_' + field)[0].style.border = "red 1px solid"; } else { document.getElementsByName('contactFormField_' + field)[0].style.borderColor = ''; } } else if (type == 'checkbox') { if (!isRequiredCheckbox(fields[field][1], field)) { isOk = false; } } else if (type == 'checkboxGroup') { if (!isRequiredCheckBoxGroup(fields[field][1], field)) { isOk = false; } } else if (type == 'radio') { if (!isRequiredRadio(fields[field][1], field)) { isOk = false; } } else if (type == 'file') { var required = fields[field][1]; var folderWidget = cx.instances.get('uploadWidget', 'folderWidget'); if(required && folderWidget.isEmpty()) { isOk = false; document.getElementsByName('contactFormField_uploa d')[0].style.border = "red 1px solid"; } } else if (type == 'select') { $J('#contactFormFieldId_238').css('border',"black 1px solid"); if($J('#contactFormFieldId_238 :selected').val()=='') { add_error(error_arr[8], field); // isOk = false; $J('#contactFormFieldId_238 ').css('border',"red 2px solid"); } } if (!isOk){ } } if(!check_emails('245','246')){ add_error(error_arr[5], field);//emails are not equels isOk = false; } if (!isOk) { $J(':input').each(function(){ if(this.id){ var id = this.id; var title; if($J('#' + id).attr('title') != undefined){ title = $J('#' + id).attr('title'); }else{ title =''; } if( $J('#' + id).val() == '' || $J('#' + id).val() == ' '){ $J('#' + id).val($J('#' + id).attr('title')); } } }); document.getElementById('contactFormError').style. display = "block"; }else{ $J(':input').each(function(){ if(this.id){ var id = this.id; var title; if($J('#' + id).attr('title') != undefined){ title = $J('#' + id).attr('title'); }else{ title =''; } if($J('#' + id).attr('title') == $J('#' + id).val()){ $J('#' + id).val(''); } } }); } return isOk; } Код генерится системой contrexx, я только добавил некоторые проверки |
Часовой пояс GMT +3, время: 11:12. |