запретить отправку формы на другую страницу - PullRequest
0 голосов
/ 17 января 2012

У меня есть этот код:

<form method="get" action="" id="search">
<input id="search_box" name="search" type="text" class='search_box'  onkeypress="if(event.keyCode==13) sentAjax('searchdata.php');var filelink='searchdata.php';"  value="" onclick="this.value=''" />
        <input type="hidden" name="course_val" id="course_val" />
</form>

Я хочу заблокировать отправку формы на другую страницу. Теперь, если вы нажмете Enter, она отправится на другую страницу

Ответы [ 5 ]

2 голосов
/ 17 января 2012

в чистом JavaScript

<form method="get" action="" id="search" onsubmit="return false;">
...
</form>

Обратите внимание, что это не позволит вам отправить форму, поэтому в идеале вы должны вызывать функцию обработчика отправки, которой вы управляете, когда хотите отправить

<form method="get" action="" id="search" onsubmit="return mySubmitHandler()">
...
</form>

и в вашем обработчике отправки

        function mySubmitHandler(){
        if (submit_criteria_met) {
        return true;
        } else {
        return false;
        }
return false;

    }
1 голос
/ 17 января 2012

Удалите атрибут onkeypress в поле ввода, похоже, что он делает некоторую публикацию за кулисами при нажатии клавиши ввода (код клавиши 13).

Возможно, вы также захотите запретить отправку формы, хотя кажется, что она отправляется на ту же страницу, так как атрибут действия пуст.

Если вы не можете редактировать HTML, попробуйте что-нибудькак:

$('#search').submit(function(e) {
  e.preventDefault();
}).find('input[onkeypress]').removeAttr('onkeypress');

Тест: http://jsfiddle.net/DAvfm/

1 голос
/ 17 января 2012

Это должно сработать:

$('form#search').on('submit', function(e) {
    e.preventDefault();
});

Важной частью является e.preventDefault(), что предотвращает отправку формы при запуске события submit.

0 голосов
/ 17 января 2012

Запрет действия формы по умолчанию.

$('#search').submit(function(event) { event.preventDefault(); });
0 голосов
/ 17 января 2012
$('#search').bind('submit',function(e) {
    e.preventDefault();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...