проблема с отправкой формы - PullRequest
0 голосов
/ 25 февраля 2009

У меня есть форма, которая отлично работает с Mozilla и IE, но в Google Chrome есть небольшая проблема я использую ajax для отправки моей формы, которая не имеет кнопки отправки, в IE и Mozilla она работает нормально, но в google chrome, когда я нажимаю, введите форму, отправляет и страница перенаправляет на главную страницу (это еще одна проблема с обновлением страницы) в аяксе) как я могу остановить отправку страницы при нажатии кнопки ввода?

Ответы [ 3 ]

3 голосов
/ 25 февраля 2009

Каждое событие имеет свое действие по умолчанию (кнопка будет щелкать, гиперссылка приведет вас куда-то), и в вашем случае ENTER в элементе формы отправит форму. Такие действия могут быть предотвращены. Браузеры отличаются от своей реализации тем, что предотвращают это действие по умолчанию, но такие инструменты, как jQuery или MooTools, помогут вам в этом.

Подробные сведения о том, как это сделать, можно найти здесь:

http://www.quirksmode.org/js/events_early.html#link4

Идея состоит в том, чтобы написать обработчик onsubmit для элемента формы следующим образом:

<form id="foo" onsubmit="doYourAjaxThing(); return false">

Или подключить слушатель событий к вашей форме с помощью javascript и сделать что-то вроде этого (синтаксис jQuery):

$("foo").submit(function(event){
 doYourAjaxThing()      
 event.preventDefault();
});

http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29

1 голос
/ 17 декабря 2009
$("input").keypress(function (e) {
    if (event.keyCode == 13) {
        //Put whatever you would rather happen here........
        return false;    //this cancels the SUBMIT action
    }
});

Удачи, Патрик

1 голос
/ 25 февраля 2009

Возвращает false из функции, отправляющей форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...