Как запустить отправку формы, установив флажок? - PullRequest
2 голосов
/ 09 сентября 2011

Я использую jQuery 1.6 и хочу отправить форму, нажав на кнопку-флажок.

То есть у меня есть следующий код, который отправляет форму

$jQuery('#search_form').submit(function () {
  $jQuery.get(this.action, $jQuery(this).serialize(), null, 'script');
  return false;
});

и когда я нажимаю на флажок, HTML-код которого

<input type="checkbox" value="true" ... id="check_box_id">

, я бы хотел вызвать отправку формы.

Как мне это сделать?что?

Ответы [ 3 ]

4 голосов
/ 09 сентября 2011

Вы можете вызвать событие submit, просто вызвав submit без аргументов:

$jQuery("#check_box_id").click(function() {
    $jQuery("#search").submit();
});

В качестве альтернативы вы можете использовать метод trigger:

$jQuery("#search").trigger("submit");

Поскольку создается впечатление, что вы запускаете асинхронный запрос в обработчике события отправки, а не используете поведение формы по умолчанию, я бы предложил отключить флажок (или удалить обработчик события) в обработчике события submit, и затем снова включите его при успешном обратном вызове метода get, чтобы предотвратить повторную отправку пользователем.

0 голосов
/ 09 сентября 2011

Вызов метода submit () в форме без параметров приведет к ее отправке.

Большинство обработчиков событий в jQuery разделяют это;Вызов .click () будет имитировать щелчок, тогда как .click (function ...) устанавливает обработчик.

$(document).ready(function()
{
    $('#check_box_id').click(function()
    {
        $('#search_form').submit();
    });
});
0 голосов
/ 09 сентября 2011
$jQ("#check_box_id").click(function(){
  $jQ("#search").submit();
});
...