Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Java / JavaScript


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Java/JavaScript

Выпуск № 444
от 02.10.2007, 00:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 366, Экспертов: 36
В номере:Вопросов: 1, Ответов: 2


Вопрос № 103476: Здравствуйте эксперты! В приложении есть форма, при нажатии на кнопку (button) данные получает функция на Javascript, но если в поле text стоит курсор и в это время нажать enter то данные идут на сервер минуя обработчик - как от этого избавиться?...

Вопрос № 103.476
Здравствуйте эксперты!
В приложении есть форма, при нажатии на кнопку (button) данные получает функция на Javascript, но если в поле text стоит курсор и в это время нажать enter то данные идут на сервер минуя обработчик - как от этого избавиться??

Приложение:

Отправлен: 26.09.2007, 18:21
Вопрос задал: Cimus (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Бородин Александр Олегович
Здравствуйте, Cimus!
Можно атрибуту action присвоить значение "#", но для Вашей формы, думаю, лучше было бы, если бы Вы для поля text написали обработчик событий onKeyDown, например, а в нем - Вашу функцию doLoad(this.value).
Я к такому выводу прихожу исключительно исходя из вида Вашей формы. Если Вы ее привели не полностью, то мой ответ, наверное, Вам не поможет.
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Бородин Александр Олегович (статус: 10-ый класс)
Ответ отправлен: 26.09.2007, 18:34
Оценка за ответ: 3
Комментарий оценки:
Обработчик событий onKeyDown в поле TYPE="text" стаить нельзя, как же тогда текст вводить??

Отвечает: Flynn
Здравствуйте, Cimus!
<FORM action="" method="post" onSubmit="doLoad(this.form.ip.value);">
Данная структура всегда перед отправкой формы проведет вашу функцию. Введя её скрипт в кнопке можно убрать (оставив обычный submit) - так как выполнит функцию два раза - при нажатии кнопки, а потом субмите формы. Но тсоит так же быть внимательным к значениям возвращаемым функцией doLoad. Если она НЕ возвращает false - форма отправится на сервер. То есть если произошла ошибка какая-то и данные отправляться не должны функция должна возвращаться return false.
Ответ отправил: Flynn (статус: 6-ой класс)
Ответ отправлен: 26.09.2007, 19:41
Оценка за ответ: 5
Комментарий оценки:
Ваш вариант не сработал, но поразмыслив получись вот так -FORM name="check_ip" onsubmit=" doLoad(document.check_ip.ip.value); return false"-
Спасибо за правильный ответ


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.60.05 от 27.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное