jQuery validate (); Подтвердить только при нажатии кнопки отправки одного типа - PullRequest
13 голосов
/ 10 февраля 2010

У меня довольно сложная проблема, которую я исследовал, и я ничего не понимаю;

Сценарий: У меня есть форма, с плагином jQuery bassistance.de validate () (http://docs.jquery.com/Plugins/Validation).

Идеально ли справляется с заданием; Я два типа кнопки отправки.

Один отправляет форму как обычно, вызывая мою внутреннюю проверку и возвращает ошибки или успех.

Другой тип, по всей видимости, представляет собой кнопку отправки в браузер, однако он сообщает моему бэк-энду добавить еще один раздел ввода (т. Е. Повторяющийся элемент для истории занятости). Я хочу, чтобы пользователь был возможность добавлять повторяющиеся элементы без необходимости сначала заполнять оставшуюся часть формы. Поэтому, щелкнув по второму типу отправки, я хочу обойти проверку ();

HTML:

<form method="post" action="" id="ApplicationForm" name="ApplicationForm">

  <input id="job1" name="job1" class="required"/>
  <input type="submit" name="delete_job1" value="Delete" class="delete" />

  <input id="job2" name="job2" class="required"/>
  <input type="submit" name="delete_job2" value="Delete" class="delete" />

  <input type="submit" name="add_job" value="Add Job" class="add" />

  <input type="submit" name="ApplicationForm" value="Save Details" class="submit" />

</form>

Я попробовал прослушиватель для кнопки истинного отправки ниже, но это просто останавливает валидацию всех вместе;

$(document).ready(function()
{
    var submitPress

    $(".submit").click(function()
    {
        submitPress = true;
    });

    if (submitPress)
    {
        $('form#ApplicationForm').validate();
    }
});

Полагаю, это потому, что validate (); слушатели настраиваются при начальной загрузке страницы, а не при отправке ...

Существует ли правило или настройка для validate (); Мне не хватает того, что я мог бы использовать, или даже хорошего взлома со старым добрым JS.

Muchos gratias, кто когда-либо может помочь, я в моем конце.

С уважением, Работая поздно, СНОВА, разработчик

Ответы [ 2 ]

23 голосов
/ 11 февраля 2010

http://docs.jquery.com/Plugins/Validation/Reference#Skipping_validation_on_submit

в основном, добавьте class="cancel" к кнопкам отправки, которые вы не хотите запускать проверку.

<input type="submit" value="I Validate" />
<input type="submit" class="cancel" value="I skip Validation" />
0 голосов
/ 21 марта 2014

не работает, потому что идентификатор, который вы указали для вашего элемента ввода, который меняется следующим образом submit_1_btnSubmit после загрузки страницы

, чтобы избавиться от этой ошибки, вы можете использовать ClientIDMode="Static"

(if you are working on asp.net)
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" CssClass="Submit" ClientIDMode="Static" />

else

you may access `clientIDmode`  property on button control dynamically.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...