Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не выполняется функция JavaScript, вызываемая по событию onsubmit / 20 сообщений из 20, страница 1 из 1
29.05.2015, 10:13
    #38971519
Не выполняется функция JavaScript, вызываемая по событию onsubmit
Нужно проверить правильность ввода 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
29.05.2015, 10:52
    #38971598
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
Константин1969,
сообщение InnerHTML в одну строку напишите
...
Рейтинг: 0 / 0
29.05.2015, 10:59
    #38971607
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
Константин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
29.05.2015, 11:28
    #38971646
Не выполняется функция JavaScript, вызываемая по событию onsubmit
skyANA, Дело не в этом. Дело в том, что вообще эта функция не выполняется. Даже так:


function validate(){
alert('Привет!!!");
return false;
}
...
Рейтинг: 0 / 0
29.05.2015, 12:43
    #38971729
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
Константин1969,
Так не получится ничего. Перенесите валидацию на событие onclick кнопки submit.
...
Рейтинг: 0 / 0
29.05.2015, 12:46
    #38971734
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
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
29.05.2015, 12:48
    #38971737
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
kunaksergey,
Я не проверял, но как вариант можно использовать предложенный мной вариант.
...
Рейтинг: 0 / 0
29.05.2015, 12:53
    #38971746
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
в input лучше поставить свойство required, а не заниматься таким:
Код: javascript
1.
2.
3.
4.
if (y.length==0){
document.getElementById("e_mail").innerHTML="*данное поле обязательно для 
заполнения";
}
...
Рейтинг: 0 / 0
29.05.2015, 13:17
    #38971779
Не выполняется функция JavaScript, вызываемая по событию onsubmit
Все поправил, но сама функция не выполняется. Может где стоит запрет на выполнение js?
...
Рейтинг: 0 / 0
29.05.2015, 13:30
    #38971796
Не выполняется функция JavaScript, вызываемая по событию onsubmit
А из-за чего у меня может не работать?

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
29.05.2015, 14:32
    #38971880
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется функция JavaScript, вызываемая по событию onsubmit
Константин1969,
можно без JS обойтись

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



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


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

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


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