-1

asp.net4.0アプリケーションでjQuery検証プラグインを使用しています。

プラグインを表示するには、ここをクリックしてください

1)送信2)キャンセル2つのボタンがあります

[送信]ボタンをクリックすると、フォームが検証され、適切なエラーメッセージが表示されます。

[キャンセル]ボタンを使用して前のページに戻りました。

しかし、[キャンセル]ボタンをクリックすると、エラーメッセージも表示されます。

[キャンセル]ボタンのクリックでフォームを検証したくありません。

どうすればそれができますか。

ありがとう。

4

2 に答える 2

1

あなたのコードを見ずに、私はあなたの「キャンセル」ボタンもであると思いますinput[type=submit]input[type=button]代わりにに変更して、適切に処理してください。

たとえば、[送信]ボタンは次のようになります。

$(".selector").validate({
   submitHandler: function(form) {
       // do other stuff for a valid form
     form.submit();
   }
});

一方、[キャンセル]ボタンは次のようになります。

$("#cancel").click(function() {
     history.back(); // or window.location.href = ...your link
   }
});
于 2012-07-02T09:29:00.427 に答える
0

マークアップが表示されない場合は、[キャンセル]ボタンが実際には別の送信ボタンであり、コードビハインドでリダイレクトを処理していると想定しています。これが当てはまる場合、キャンセルボタンをクリックすると、onsubmitイベントをリッスンしているため、検証プラグインもトリガーされます。私の頭のてっぺんから2つのオプションがあります:

  1. ボタン/入力要素ではなく、ハイパーリンクを使用します。URLをハードコーディングするか、ページの読み込み中にコードビハインドで設定する必要があります。
  2. UseSubmitBehaviorページでをfalseに設定すると.aspx、マークアップが。以外のものに変更されます<input type="submit" />
于 2012-07-02T09:32:14.903 に答える