Нажмите конкретную кнопку отправки с JQuery - PullRequest
24 голосов
/ 30 ноября 2011

Я нажимаю кнопку отправки, используя это:

$('input[type=submit]').click(); 

Проблема в том, что у меня есть более 1 кнопки отправки на моей странице, поэтому мне нужно указать конкретную кнопку отправки.* Как я мог это сделать?

Ответы [ 6 ]

29 голосов
/ 30 ноября 2011

Если вам известно количество submit входов и какой (по порядку) вы хотите включить click, то вы можете использовать синтаксис nth-child() для его назначения. Или добавьте идентификатор или класс для каждого, который отделяет их от другого.

Выбор элементов по их индексу:

$('input[type="submit"]:nth-child(1)').trigger('click');//selects the first one
$('input[type="submit"]:nth-child(2)').trigger('click');//selects the second one
$('input[type="submit"]:nth-child(100)').trigger('click');//selects the 100th one

Существует несколько способов сделать это, включая .eq(): http://api.jquery.com/eq

Выбор элементов по их идентификатору:

<input type="submit" id="submit_1" />
<input type="submit" id="submit_2" />
<input type="submit" id="submit_100" />

<script>
$('#submit_100').trigger('click');
</script>

Обратите внимание, что .click() это сокращение от .trigger('click').

7 голосов
/ 30 ноября 2011

Если вы добавите маркер, например, определенный идентификатор или класс, к своему input, вы можете сделать свой селектор более конкретным.Например, если вы даете кнопке нужный идентификатор form-btn, например:

<input type="submit" id="form-btn" />

. Вы можете выбрать его следующим образом:

$('input[type=submit]#form-btn').click();

Или просто:

$('#form-btn').click();
4 голосов
/ 30 ноября 2011

Добавьте id s к каждой кнопке и выберите id с помощью jQuery.

Или, если формы имеют id s, просто нацеливайтесь на форму и отправляйте ее следующим образом:

$("#form-id").submit();
2 голосов
/ 05 июня 2013

Задержка на вечеринке, но если у ваших кнопок отправки есть названия:

$("input[name='submitbuttonname']").click();
1 голос
/ 17 июня 2016

Еще одно предложение!

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

Вместо этого я добавил несколько скрытых кнопок, на которые я нажал после того, как получил подтверждение «Да» из моего подтверждения.

Вот кнопки:

<button id="email" name="email" type="submit" class="submit radius confirmation" value="all"><?php echo $this->__('Email Receipts to Selected'); ?></button>
<button id="email-french" name="email-french" type="submit" class="submit radius confirmation" value="all"><?php echo $this->__('Email French Receipts to Selected'); ?></button>
<button id="helper-email" name="email" type="submit" class="submit hide" value="all"></button>
<button id="helper-email-french" name="email-french" type="submit" class="submit hide" value="all"></button>

А вот jQuery:

<script type="text/javascript">
jQuery(function ($) {
    $('[id^=email]').on('click', function (e) {
        e.preventDefault();

        var button = $(this);

        notify.confirm(<?php echo json_encode($this->__('Are you sure?')); ?>, function (ans) {
            if (ans) {
                $('#helper-' + button.attr('id')).click();
            }
        });
    });
});
</script>
0 голосов
/ 28 января 2014

хм, это не может работать с формой волшебника с этим подключенным

$("#renqform").validate().settings.ignore = ":disabled";
return $("#renqform").valid();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...