Показать сообщение отдельно
  #1 (permalink)  
Старый 11.08.2013, 22:33
Новичок на форуме
Отправить личное сообщение для begelme Посмотреть профиль Найти все сообщения от begelme
 
Регистрация: 11.08.2013
Сообщений: 2

проверка формы не работает в ie
Я не давно начал изучать javascript написал проверку формы не работает в ie пробовал через DOM2 и через innerHTML не работает. Будет и вторая проверка на стороне сервера . проверка на javascript чтобы данные туда сюда не гонять. Просьба указать на ошибки и как исправить.

<!doctype html>
<html>
<head>

<title>Проверка формы перед отправкой</title>
<meta charset="utf-8">
<style type="text/css">
html{font:13px/16px Arial,sans-serif;}
div{padding:5px 5px;}
form div input {border-style:solid; border-color:#999;}
fieldset {width:500px;}
span {color:#808080;}
</style>
</head>
<body>
<h1>Проверка формы перед отправкой</h1>
<form id="myForm" action="" onsubmit="return checkForm()">
<fieldset>
<legend>Форма</legend>
<div>
<label for="txt1">поле 1</label>
<input type="hidden" value="1"/>
<input type="text" name="p1" />
<span>1 цифра</span>
</div>
<div>
<label for="txt2">поле 2</label>
<input type="hidden" value="2"/>
<input type="text" name="p2" />
<span>2 цифры</span>
</div>
<div>
<label for="txt3">поле 3</label>
<input type="hidden" value="3"/>
<input type="text" name="p3" />
<span>3 цифры</span>
</div>
<div>
<label for="txt4">поле 4</label>
<input type="hidden" value="4"/>
<input type="text" name="p4" />
<span>4 цифры</span>
</div>
<div>
<label for="txt5">поле 5</label>
<input type="hidden" value="5"/>
<input type="text" name="p5" />
<span>5 цифр</span>
</div>
<input type="checkbox" id="myCheck"/>
<label for="txt3">Отключить проверку формы</label><br/>
<input type="submit" value="Передать форму"/>
<input type="reset" value="Очистить"/>
</fieldset>
</form>
<script type="text/javascript">
var flag = 1; //переменная придет из заголовка если user-agent ie то flag= 1;
if(flag){
var myCheck = document.getElementById("myCheck");
myCheck.defaultChecked = true;
myCheck.nextElementSibling.firstChild.nodeValue = 'Проверка формы для версий IE7 и ниже отключена. Будьте внимательны при вводе данных или обновите ваш браузер';
myCheck.nextElementSibling.style.color = '#f00';
}
function checkForm(){
var myCheck = document.getElementById("myCheck").checked;
if(!myCheck){
myCheck = false; //чекбокс разрешение на проверку даннных
var isEmpty = false;// флаг на разрешение отправки формы
var myForm = document.getElementById("myForm");
var t = myForm.elements; //поиск импутов
for (var i = 0; i < t.length; i++){
if(t[i].type == 'text'&&t[i].type != 'hidden'){
isEmpty = true;// запрет на отправку формы
t[i].style.borderColor = '#fc9';
next = t[i].nextElementSibling;
next.style.color = '#f00';
if(t[i].value == ''){
next.firstChild.nodeValue = 'Поле не заполнено';
}else{
if( t[i].value.length != t[i].previousElementSibling.value || isNaN(t[i].value) != false ){
next.firstChild.nodeValue = 'В ' + t[i].parentElement.firstElementChild.firstChild.nodeVa lue +
' нужно указать ' + t[i].previousElementSibling.value + ' цифр';
}else{
t[i].style.borderColor = '#999';
next.style.color = '#808080';
next.firstChild.nodeValue = 'OK!';
}
}
}
}
} return !isEmpty;
}
</script>
</body>
</html>
Вложения:
Тип файла: zip Проверка формы.zip (1.6 Кб, 0 просмотров)
Ответить с цитированием