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> |
Надеюсь редактирование кода закончилось =)
По тому что нет глобальной переменной form. следовательно и свойств form.firstname.value; тоже нет Это можно заменить на document.form1.firstname.value |
Цитата:
var form = document.form1; Все равно не проверяет на onSubmit... p.s. разобрался, оказывается там нужно было изменить: function verify(form1) Но почему просто form не сработало?... |
Skriptor, onSubmit='return verify(this)'
|
СПАСИБО!
|
Часовой пояс GMT +3, время: 18:26. |