0

複数のテキストボックスを持つフォームがあります。それらのテキストボックスの1つに、私が作成したバリデーターがあります。基本的に、そのバリデーターは CustomValidator クラスから継承し、javascript 関数を使用してテキストボックスの内容を検証します。

JavaScript関数は非常に単純です

function myFunction(sender, args) {
    if (condition) {
        args.IsValid = true;
    }
    else {
        args.IsValid = false;
    }
}

条件が false の場合、エラー メッセージが動的に表示されます。

したがって、テキストボックスに無効なデータを入力すると問題が発生します。データが無効であるため、メッセージが表示されます。今のところ、すべてが期待どおりに機能しています。しかし、テキストボックスに戻ってデータを修正すると、送信ボタンをクリックすると、バリデーターの onchange イベントがトリガーされ、エラーメッセージは非表示になりますが、ボタンはクリックされないようです。

なぜこれが起こるのか、それを修正する方法について何か考えはありますか?

ありがとう

4

1 に答える 1

0

コメントで私が言ったことで質問に答える

問題を解決しました。私のエラーメッセージは動的に表示されるため、エラーメッセージが表示/非表示になっていると、送信ボタンがページ上で「移動」します。そのため、送信ボタンをクリックすると、エラーメッセージが消え、クリックした場所とは別の場所にボタンが「移動」され、実際にボタンをクリックしないようになりました。

いくつかの補足情報: 検証は mouseDown イベントで発生し、ボタンのクリックは mouseUp イベントで発生するようです。ボタンをクリックし、マウス ボタンを押したままにし、ボタンに戻ってマウス ボタンを離すと、クリックが機能することをテストしました。

于 2012-10-16T18:42:38.430 に答える