Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.12.2014, 13:44
Аспирант
Отправить личное сообщение для Skriptor Посмотреть профиль Найти все сообщения от Skriptor
 
Регистрация: 08.12.2014
Сообщений: 31

onsubmit (Почему не срабатывает проверка?)
Почему не срабатывает проверка на длину пароля, текста в textarea и т.д. по атрибуту "onSubmit" в теге <form>?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=window-1251">
<script type='text/JavaScript'>
function verify(form) {
  var firstname = form.firstname.value;
  var pass = form.pass.value;
  var message = form.message.value;
  var rules = form.rules.value;
  var file = form.fileupload.value;
  var bad = "";
  if (firstname.length < 3)
     bad += "Имя слишком короткое" + "\n";
  if (firstname.length > 32)
    bad += "Имя слишком длинное" + "\n";
  if (pass.length < 3)
    bad += "Пароль слишком короткий" + "\n";
  if (pass.length > 32)
    bad += "Пароль слишком длинный" + "\n";
  if (message.length < 3)
    bad += "Сообщение слишком короткое" + "\n";
  if (rules != "on")
    bad += "Вы не согласились с правилами" + "\n";
  if (file.length == 0)
    bad += "Вы не выбрали файл для загрузки" + "\n";
  if (bad != "") {
    bad = "Неверно заполнена форма:" + "\n" + bad;
    alert(bad);
    return false;
  }
  return true;
}
</script>
</head>
<body>
<form  onSubmit='verify(form)' name = 'form1' action = 'handler.php' method = 'post'>
  Ваше имя:
  <input type = 'text' name = 'firstname' />
  <br />
  Ваш пароль:
  <input type = 'password' name = 'pass' />
  <br />
  Ваш пол:
  <input type = 'radio' name = 'sex' value = 'male' />
  <input type = 'radio' name = 'sex' value = 'female' />
  <br />
  Выберите число:
  <select name = 'number'>
    <option value = '1'>1</option>
    <option value = '2'>2</option>
    <option value = '3'>3</option>
  </select>
  <br />
  Ваше сообщение:
  <textarea name = 'message'></textarea>
  <br />
  Согласитесь с нашими правилами:
  <input type = 'checkbox' name = 'rules' />
  <br />
  <input type = 'hidden' value = 'hidefield' name='hidefield' />
  Загрузите файл:
  <input type = 'file' name = 'fileupload' />
  <br />
  <input type = 'submit' value = 'Отправить' name = 'sub'>
  <br />  <br />
  <input type = 'button' value = 'Просто кнопка' name = 'but' onClick='check()'>
</form>
</body>
</html>

Последний раз редактировалось Skriptor, 20.12.2014 в 14:15.
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2014, 14:28
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Надеюсь редактирование кода закончилось =)

По тому что нет глобальной переменной form.
следовательно и свойств form.firstname.value; тоже нет
Это можно заменить на document.form1.firstname.value
Ответить с цитированием
  #3 (permalink)  
Старый 20.12.2014, 15:04
Аспирант
Отправить личное сообщение для Skriptor Посмотреть профиль Найти все сообщения от Skriptor
 
Регистрация: 08.12.2014
Сообщений: 31

Сообщение от MallSerg Посмотреть сообщение
Надеюсь редактирование кода закончилось =)

По тому что нет глобальной переменной form.
следовательно и свойств form.firstname.value; тоже нет
Это можно заменить на document.form1.firstname.value
Добавил в функцию:
var form = document.form1;

Все равно не проверяет на onSubmit...
p.s. разобрался, оказывается там нужно было изменить: function verify(form1)
Но почему просто form не сработало?...

Последний раз редактировалось Skriptor, 20.12.2014 в 17:26.
Ответить с цитированием
  #4 (permalink)  
Старый 20.12.2014, 17:42
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 458

Skriptor, onSubmit='return verify(this)'
Ответить с цитированием
  #5 (permalink)  
Старый 21.12.2014, 00:58
Аспирант
Отправить личное сообщение для Skriptor Посмотреть профиль Найти все сообщения от Skriptor
 
Регистрация: 08.12.2014
Сообщений: 31

СПАСИБО!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает .bind для события onsubmit формы? Chuck90 Events/DOM/Window 2 26.10.2013 18:48
Почему onload срабатывает до того как картинка полностью проявится? koeshiro Общие вопросы Javascript 21 24.06.2013 14:50
Почему alert не срабатывает для несуществующей переменной? Почемучкин Общие вопросы Javascript 10 16.08.2012 09:32
Почему функция срабатывает один раз? Bogdan808 Javascript под браузер 4 06.09.2010 23:41
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 19:01