Показать сообщение отдельно
  #8 (permalink)  
Старый 13.02.2015, 15:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Uncaught SyntaxError: Unexpected token ILLEGAL
Строки должны распологаться на одной строке

<html>
<head>
<script type="text/javascript">
function validate(){
   //Считаем значения из полей name и email в переменные x и y
   var v=document.forms["form"]["company"].value;
   var w=document.forms["form"]["jab"].value;
   var x=document.forms["form"]["name"].value;
   var y=document.forms["form"]["mail"].value;
   var z=document.forms["form"]["phone"].value;
   var allowToSend = true;
   var msg = "* данное поле обязательно для заполнения";
   //Если поле name пустое выведем сообщение и предотвратим отправку формы
   document.getElementById("companyf").innerHTML=/^\s*$/.test(v)?(allowToSend = false,msg):"";
   document.getElementById("jabf").innerHTML=/^\s*$/.test(w)?(allowToSend = false,msg):"";
   document.getElementById("namef").innerHTML=/^\s*$/.test(x)?(allowToSend = false,msg):"";

   //Если поле email пустое выведем сообщение и предотвратим отправку формы
   document.getElementById("mailf").innerHTML=!(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(y))?(allowToSend = false,msg):"";

   document.getElementById("phonef").innerHTML=/^\s*$/.test(z)?(allowToSend = false,msg):"";
  
   return allowToSend;
}
</script>
</head>
<body>
<form name="form" onsubmit="return validate()">
Компания: <input type="text" name="company"> <span style="color:red" id="companyf"></span><br />
Должность: <input type="text" name="jab"> <span style="color:red" id="jabf"></span><br />
Имя: <input type="text" name="name"> <span style="color:red" id="namef"></span><br />
И-mail: <input type="text" name="mail"> <span style="color:red" id="mailf"></span><br />
Телефон: <input type="text" name="phone"> <span style="color:red" id="phonef"></span>

<br /><input type="submit" value="Отправить форму">
</form>
<p><b>Обратите внимание:</b> попробуйте отправить на сервер форму не заполнив все поля.</p>
</body>
</html>


Подправил логику проверки: если значение поля соответствует regexp, то предупреждение изчезнет
P. S. Но имейте в виду, что не следует полагаться только на проверки JavaScript. JavaScript может быть легко отключен. Это также должно быть проверено на стороне сервера.
Ответить с цитированием