| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Скрипт для обработки формы |
| Автор: katka 19.7.2004, 09:17 | ||
| Добрые люди, помогите, пожалУЙста! Хочу, чтобы javascript проверял форму, прежде чем она улетит по сабмиту. ИЕ и Опера всё понимают и делают, как надо. Вот код (пишу его в хеде):
а в форме пишу: onSubmit="return checkform()" как переделать, чтобы везде работало? |
| Автор: Fish 19.7.2004, 09:29 |
| А где не работает-то? |
| Автор: katka 19.7.2004, 09:34 |
| в Нетскейпе не работает. ну, и в Мозиле тоже.. 8( |
| Автор: Fish 19.7.2004, 10:40 |
| Все дело в onSubmit. Попробуй использовать onBlur в каждом поле. Чтобы он проверял до отправки данных. |
| Автор: Fish 19.7.2004, 10:56 |
| Или прочитай вот это - [url] http://devedge.netscape.com/library/manuals/2000/javascript/1.3/guide/evnt.html#1012961 [/url] |
| Автор: katka 19.7.2004, 11:00 |
| Ох.. Это что же мне каждый раз ругаться на человека, если он решил оставить заполнение поля "на потом"? у меня в анкете довольно много полей будет, плохо. Самое непонятное: если я эту функцию вешаю на онКлик по кнопке, а в ней насильно пишу vak_form.submit() — всё равно ничего не происходит. И никаких алертов, если форма пустая. Я вот думаю: может, я где глупость какую написала и не заметила? 8( Всё равно, спасибо. Может, это и выход — если ничего другого не придумаю. |
| Автор: katka 19.7.2004, 11:15 |
| Почитала, спасибо. |
| Автор: Fish 19.7.2004, 11:25 | ||||||
Повесь это на onclick submit кнопки.
Добавлено @ 11:28 Сработает. Ой ошибку заметил.
а надо
|
| Автор: katka 19.7.2004, 13:48 |
| не-а. то же самое. всё. я забила на это дело 8] |
| Автор: Cheba 19.7.2004, 14:38 | ||
Я вообще-то только начал знакомиться с JavaScript, но всегда обращаюь к объектам предварительно отыскав их. Вот так.
Вообще-то в Мозилле (и в Нетскейпе) есть JavaScript Console, где отображаются все ошибки скрипта. Если бы мы знали что за ошибка возникает ее было бы гораздо проще исправить. |
| Автор: Fish 20.7.2004, 08:02 | ||||
Попробуй такой onClick
а в функции
т.е. явно укажи для какой формы относиться функция. |
| Автор: <Spawn> 20.7.2004, 08:08 |
| Может попоробовать переделать доступ к элементам на document.getElementById, а доступ к свойствам через getAttribute? |
| Автор: katka 20.7.2004, 09:16 |
| Cheba Плохо я знакомилась с javascript и грубо обращалась к объектам. +) СПАСИБО. кажется, это помогает. Действительно, обнаружила в мозилле js-консоль(!) 8) в ней было написано "vak_form is not defined". Когда "отыскала" vak_form, сказало "vak_form has no properties" .. Ох, возможно это наглость с моей стороны, но.. вы не подскажете, как бы мне отыскать все объекты и их properties? чтобы всё было defined.. <Spawn> мне нужно писать if( password.getAttribute("value") == password2.getAttribute("value") ) ... ? а как определить password как элемент формы? |
| Автор: Cheba 20.7.2004, 13:33 | ||
| Можно отыскивать их так же как и форму, тоесть через document.getElementById. Можно попробовать доставать их через DOM. Или можно воспользоваться готовым кодом
|
| Автор: Sardar 20.7.2004, 13:43 | ||
Вот так будет работать:
|
| Автор: katka 20.7.2004, 14:05 |
| аааааааа!! 8D))) Люди!! Спасибо вам, люди! 8)) я уже даже надежду потеряла.. а тут ТАКОЕ! 8) всё работает, сижу кнопку жму, а оно выпрыгивает или не выпрыгивает! 8) |
| Автор: Aliance 2.8.2004, 18:05 |
| А если сделать так: onsubmit = "return false;" А вместо кнопки submit поставь: <input type="button" onclick="if (checkform()) {this.form.submit()}"> ...Если я правильно понял задачу |