3

一部のデータを変更するために表示される jQuery ダイアログを含む ASP.NET ページがあります。ユーザーが[OK]ボタンをクリックするとASP.NETの

Page_ClientValidate('validationGroup')JavaScript を介して、すべての無効なコントロールを見つけ、それらの CSS クラスを変更します。シナリオは次のとおりです。ユーザーがダイアログを開き、無効なデータを入力し、[OK] をクリックして (検証メッセージを受け取って)、[キャンセル] をクリックします。

ダイアログは閉じられますが、検証メッセージはまだ残っているため、ダイアログを再度開くと、データは最初の状態に戻りますが、フォームは無効な状態のままです (検証メッセージはまだ表示されています)。 )。

私が必要としているのは、 を呼び出した後に呼び出す一種の「リセット」機能ですPage_ClientValidate('validationGroup')。これは存在しますか?

4

4 に答える 4

2

ダイアログの入力の周りにaを配置し、リセットボタンを使用してキャンセルしてみませんか

<input type="reset" value="Cancel" />

編集

ダイアログ コントロールが既にリセットされている場合は、ダイアログを開くときに再検証します。

于 2010-05-06T15:05:07.217 に答える
1
  1. バリデーターに、validator1、validator2 などの連続した ID を付与します。

  2. 次の JavaScript コードを実行して、エラー メッセージを非表示にします。

    var n = 0;
    var z = '';
    
    for (var i = 0; i < Page_Validators.length; i++) {
        n += 1;
        z = 'ctl00_MainContent_validator' + n;
        document.getElementById(z).style.visibility = 'hidden';
    }
    

    これにより、バリデーターがループされ、以前に表示されたエラー メッセージが非表示になります。

  3. 送信ボタンが押されると、バリデーターは再び処理を行い、失敗した検証についてエラー メッセージを再度表示します。

出来上がり。

于 2011-11-27T17:43:38.703 に答える
1

クライアント側関数ValidatorValidate(validatorObj)を呼び出して、特定のバリデーターで検証を強制的に再度トリガーすることができます。フォームの値をバリデーターがデフォルトとして期待する値にリセット (クリア) し、ValidatorValidateそれらに対して関数をトリガーする場合は、問題ありません。こちらのドキュメントを参照してください。

于 2010-05-28T06:47:29.783 に答える
0

ユーザーがキャンセルをクリックしたときに検証メッセージを削除しないのはなぜですか?

于 2010-01-13T18:14:22.907 に答える