Как проверить форму, используя JQuery, когда нажата только одна конкретная кнопка? - PullRequest
0 голосов
/ 13 февраля 2011

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

Как сделать jquery не для проверки, а для отправки формы при нажатии первой кнопки, а также проверки и отправки при нажатии второй кнопки?

спасибо

Ответы [ 3 ]

3 голосов
/ 13 февраля 2011

event.originalEvent.explicitOriginalTarget является свойством Gecko (см. этот вопрос и ответ ).

Должно работать следующее:

var doValidate;
$('#validating-button').click(function () { doValidate = true; });
$('#non-validating-button').click(function () { doValidate = false; });
$('#form').validate({
    rules: {
        myinputname: {
            required: function () { return doValidate; }
        }
    }
});
2 голосов
/ 13 февраля 2011

Хорошо, я нашел решение, которое смехотворно просто, как обычно, единственное, что мне нужно сделать, это установить class = "cancel" на первую кнопку, и она пропустит проверку при отправке.

Найдено здесь http://forum.jquery.com/topic/stop-a-specific-button-calling-validation

0 голосов
/ 13 февраля 2011

РЕДАКТИРОВАТЬ : проверить ответ опрашивающего:)

Первый щелчок, выполнить проверку и проверить проверку (просто попробовать / улучшить) ... Второй щелкнул, просто ничего не делать(отправить заявку)

$('#formid').submit(function(event) {
    if (event.originalEvent.explicitOriginalTarget.id == "firstButtonID") {
       $(this).validate();
       if(!$(this).valid()){
            event.preventDefault();
            return false;
       }
    }
});
...