powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не выполняется функция JavaScript, вызываемая по событию onsubmit
20 сообщений из 20, страница 1 из 1
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971519
Нужно проверить правильность ввода email адреса перед отправкой формы. Функция validate не вызывается вообще. Пробовал в функции выполнить alert, реакция ноль! Также пробовал сделать проверку не по onsubmit, а по onclick поля email - эффект тот же. Пробовал запускать скрипт под IE, Firefox и Chrome.Тоже самое. В чем проблема?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns=" http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>
<TITLE>newsletter</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel='stylesheet' href='css/TStyle.css'/>

<script type="text/JavaScript">
function validate(){
//Считаем значения из полей name и email в переменные x и y

var y=document.forms["form"]["e_mail"].value;

//Если поле email пустое выведем сообщение и предотвратим отправку формы
if (y.length==0){
alert("пусто");
document.getElementById("e_mail").innerHTML="*данное поле обязательно для
заполнения";
return false;
}
//Проверим содержит ли значение введенное в поле email символы @ и .
at=y.indexOf("@");
dot=y.indexOf(".");
//Если поле не содержит эти символы знач email введен не верно
if (at<1 || dot <1){
document.getElementById("e_mail").innerHTML="*email введен не верно";
return false;
}
}
</script>

</head>

<body>

<div id='auth_form'>
<form name="form" action="#" method="post" onsubmit="return validate()">
<!--<form action="maintest.html" method="post" name="form_email"> -->
<h1>Subscribe to our newsletter.</h1>
<h2>
Subscribe to our newsletter and get exclusive deals you<br>
wont find anywhere else straight to your in boxw!
</h2>

<input id="mail" type="text" name="e_mail" placeholder=" enter your email address"/>

<input id="sub" type="submit" name ="l_sub" value="subscribe"/>


</form>

</div>
</body>
</html>
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971598
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Константин1969,
сообщение InnerHTML в одну строку напишите
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971607
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин1969, включите отладчик и увидите, что нет у Вас элемента с идентификатором "e_mail", с именем таким есть, но id у него - mail.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<!DOCTYPE html>
<html>
<head>
  <TITLE>newsletter</TITLE>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel='stylesheet' href='css/TStyle.css' />
</head>
<body>
  <div id='auth_form'>
    <form action="#" method="post" name="form" onsubmit="return validate()">
      <!--<form action="maintest.html" method="post" name="form_email"> -->
      <h1>Subscribe to our newsletter.</h1>
      <h2>
        Subscribe to our newsletter and get exclusive deals you<br>wont find anywhere else straight to your in boxw!
      </h2>
      <input id="mail" type="text" name="e_mail" placeholder=" enter your email address" />
      <input id="sub" type="submit" name="l_sub" value="subscribe" />
      <br/>
      <span id="validation-error" style="color:red"></span>
    </form>
  </div>
  <script>
    function validate() {
      // Считаем значения из полей name и email
      var at, dot,
          email = document.getElementById('mail'), emailValue = email.value,
          error = document.getElementById('validation-error');

      // Если поле email пустое выведем сообщение и предотвратим отправку формы
      if (emailValue.length == 0) {
        error.innerHTML = '*поле обязательно для заполнения';
        return false;
      }

      // Проверим содержит ли значение введенное в поле email символы @ и .
      at = emailValue.indexOf('@');
      dot = emailValue.indexOf('.');

      // Если поле не содержит эти символы знач email введен не верно
      if (at < 1 || dot < 1) {
        error.innerHTML = '*email введен не верно';
        return false;
      }
    }
  </script>
</body>
</html>


И innerHTML для input-а задать низзя :)
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971646
skyANA, Дело не в этом. Дело в том, что вообще эта функция не выполняется. Даже так:


function validate(){
alert('Привет!!!");
return false;
}
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971729
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин1969,
Так не получится ничего. Перенесите валидацию на событие onclick кнопки submit.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971734
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Axeleron,
У меня все работает:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"> 

<head>
<TITLE>newsletter</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<script type="text/JavaScript">
function validate(){
	alert("HERE");
//Считаем значения из полей name и email в переменные x и y

var y=document.forms["form"]["e_mail"].value;

//Если поле email пустое выведем сообщение и предотвратим отправку формы
if (y.length==0){
alert("пусто");
document.getElementById("e_mail").innerHTML="данное поле обязательно  для заполнения";
return false;
}
//Проверим содержит ли значение введенное в поле email символы @ и .
at=y.indexOf("@");
dot=y.indexOf(".");
//Если поле не содержит эти символы знач email введен не верно
if (at<1 || dot <1){
document.getElementById("e_mail").innerHTML="*email введен не верно";
return false;
}
}
</script>

</head>

<body>

<div id='auth_form'> 
<form name="form" action="#" method="post" onsubmit="return validate()">
<!--<form action="maintest.html" method="post" name="form_email"> -->
<h1>Subscribe to our newsletter.</h1>
<h2>
Subscribe to our newsletter and get exclusive deals you<br>
wont find anywhere else straight to your in boxw!
</h2>
<span id="e_mail"> </span>
<input id="mail" type="text" name="e_mail" placeholder=" enter your email address"/>

<input id="sub" type="submit" name ="l_sub" value="subscribe"/>

</form>

</div> 
</body>
</html>
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971737
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergey,
Я не проверял, но как вариант можно использовать предложенный мной вариант.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971746
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в input лучше поставить свойство required, а не заниматься таким:
Код: javascript
1.
2.
3.
4.
if (y.length==0){
document.getElementById("e_mail").innerHTML="*данное поле обязательно для 
заполнения";
}
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971779
Все поправил, но сама функция не выполняется. Может где стоит запрет на выполнение js?
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971796
А из-за чего у меня может не работать?

kunaksergeyAxeleron,
У меня все работает:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"> 

<head>
<TITLE>newsletter</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<script type="text/JavaScript">
function validate(){
	alert("HERE");
//Считаем значения из полей name и email в переменные x и y

var y=document.forms["form"]["e_mail"].value;

//Если поле email пустое выведем сообщение и предотвратим отправку формы
if (y.length==0){
alert("пусто");
document.getElementById("e_mail").innerHTML="данное поле обязательно  для заполнения";
return false;
}
//Проверим содержит ли значение введенное в поле email символы @ и .
at=y.indexOf("@");
dot=y.indexOf(".");
//Если поле не содержит эти символы знач email введен не верно
if (at<1 || dot <1){
document.getElementById("e_mail").innerHTML="*email введен не верно";
return false;
}
}
</script>

</head>

<body>

<div id='auth_form'> 
<form name="form" action="#" method="post" onsubmit="return validate()">
<!--<form action="maintest.html" method="post" name="form_email"> -->
<h1>Subscribe to our newsletter.</h1>
<h2>
Subscribe to our newsletter and get exclusive deals you<br>
wont find anywhere else straight to your in boxw!
</h2>
<span id="e_mail"> </span>
<input id="mail" type="text" name="e_mail" placeholder=" enter your email address"/>

<input id="sub" type="submit" name ="l_sub" value="subscribe"/>

</form>

</div> 
</body>
</html>
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971880
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин1969,
можно без JS обойтись

Код: html
1.
<p>Email: <input type="email" name="email" required></p>



Ref: HTML5 Forms
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971884
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в консоле смотрите, что у вас не так
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971913
mini.weblab, Не получится, требование заказчика. Его почему то проверка на PHP не устроила.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971929
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Константин1969mini.weblab, Не получится, требование заказчика. Его почему то проверка на PHP не устроила.
на стороне сервера все равно надо проверять.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38971938
kunaksergey, проверка на стороне сервера есть и работает.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38972136
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин1969mini.weblab, Не получится, требование заказчика. Его почему то проверка на PHP не устроила.
Ну это реалии сегодняшего дня. Делать приложения юзер фриендли.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38972273
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин1969skyANA, Дело не в этом. Дело в том, что вообще эта функция не выполняется. Даже так:


function validate(){
alert('Привет!!!");
return false;
}Я Вам привел пример, который лично проверил. Вы где хоть смотрите: в каком браузере, какой версии?
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38973426
skyANA, IE, FireFox, Google Chrome везде последних версий.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38973592
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин1969skyANA, IE, FireFox, Google Chrome везде последних версий.Вот: http://plnkr.co/edit/RJ90OeLOcs305q5pgjqM?p=preview

Работает. Походу проблема на Вашей локальной машине.
...
Рейтинг: 0 / 0
Не выполняется функция JavaScript, вызываемая по событию onsubmit
    #38974117
skyANA, Я тоже так думаю, но не могу понять где проблема. Настройки браузера здесь явно ни причем.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не выполняется функция JavaScript, вызываемая по событию onsubmit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]