Я нажимаю кнопку отправки, используя это:
$('input[type=submit]').click();
Проблема в том, что у меня есть более 1 кнопка отправки на моей странице, поэтому мне нужно настроить таргетинг на определенную кнопку отправки.
Как я могу это сделать?
Я нажимаю кнопку отправки, используя это:
$('input[type=submit]').click();
Проблема в том, что у меня есть более 1 кнопка отправки на моей странице, поэтому мне нужно настроить таргетинг на определенную кнопку отправки.
Как я могу это сделать?
Если вы знаете количество входов 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')
.
Если вы добавите маркер, например определенный идентификатор или класс, в свой input
, вы можете сделать свой селектор более конкретным. Например, если вы дадите кнопку, вам нужен идентификатор form-btn
следующим образом:
<input type="submit" id="form-btn" />
Вы можете выбрать его так:
$('input[type=submit]#form-btn').click();
Или просто:
$('#form-btn').click();
Добавьте id
к каждой кнопке и выберите id
с помощью jQuery.
Или, если формы имеют id
s, просто нарисуйте форму и отправьте ее так:
$("#form-id").submit();
Поздно, но если у ваших кнопок отправки есть имена:
$("input[name='submitbuttonname']").click();
Еще одно предложение!
У меня была форма с несколькими сообщениями, которая также имела разные атрибуты значений, поэтому я не мог просто отправить форму после выполнения моего встроенного подтверждения.
Вместо этого я добавил несколько скрытых кнопок, которые я заставил щелкнуть, после того, как я получил подтверждение от моего подтверждения.
Вот кнопки:
<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>
hmm it can not work with the wizard form с этим неповрежденным
$("#renqform").validate().settings.ignore = ":disabled";
return $("#renqform").valid();