Здравствуйте всем.
По существу:
Скрипт:
<script>
function validateForm()
{
var x=document.forms["myForm"]["name"].value;
var y=document.forms["myForm"]["phone"].value;
var z=document.forms["myForm"]["meil"].value;
if (x==null || x=="Ваше Имя" || x==" Ваше Имя")
{
alert("Необходимо заполнить поле Имя!");
return false;
}
if ((y==null || y==" Ваш Телефон" || y=="Ваш Телефон") && (z==null || z==" Ваш Email" || z=="Ваш Email"))
{
alert("Необходимо заполнить поле Телефон или Email!");
return false;
}
}
</script>
Форма
<form method='POST' name="myForm" onsubmit="return validateForm()">
<input type='text' name='name' class='input' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваше Имя':this.value;" value="Ваше Имя">
<input type='text' name='phone' class='input' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваш Телефон':this.value;" value="Ваш Телефон">
<input type='text' name='meil' class='input' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваш Email':this.value;" value="Ваш Email">
<textarea name="comment" cols="27" rows="3" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваш Комментарий':this.value;" value="Ваш Комментарий">Ваш Комментарий</textarea>
<input onclick="yaCounter23826040.reachGoal('zakazzvonka'); return true;">
<input type='hidden' name='qwe' value='1'>
</form>
Во всех браузерах алерты всплывают, в Опере и IE - нет.
Консоль оперы выдаёт:
Event thread: submit
Uncaught exception: TypeError: Cannot convert 'document.forms["myForm"]["name"]' to object
Error thrown at line 33, column 5 in validateForm() in http://site:
var x=document.forms["myForm"]["name"].value;
called from line 1, column 0 in <anonymous function>(event) in http://site:
return validateForm()
Поделитесь соображениями, пожалуйста...