0

検証グループにあるボタンがあり、ページ上のテキストボックスのいずれかが入力されていない場合、onClick は想定どおりに実行されませんが、OnClientClick は実行されます。

 <asp:Button ID="btnSend" runat="server" Text="Send" ValidationGroup="send" OnClick="sendNow"
    OnClientClick="document.getElementById('SendingMessage').style.visibility = 'visible'" />

onclientclick が Validation グループで onClick のように実行されないようにする方法はありますか?

4

1 に答える 1

1

onclickサーバー側のイベントです。onclientclickクライアント(JavaScript)アクションです。この場合、ボタンがクリックされるため、onclientclick が実行されます。検証に合格すると、ブラウザーはフォームに投稿し、onclickイベントが実行されます。検証が失敗した場合、検証が失敗した場所に応じて、2 つのいずれかが発生します。

クライアントで検証が失敗した場合、リクエストはサーバーに送信されません。サーバーで検証が失敗した場合、フォームはサーバーにポストされましたが、入力の検証は失敗し、onclickイベントは実行されません。

あなたの場合onclientclick、ユーザーの入力を検証するイベントにクライアント側のコードを追加する必要があります。検証で true が返された場合は、スクリプトの実行を続行します。検証が失敗した場合はしないでください。クライアントで Web フォームの検証に結び付ける方法が必要です。私はそれを行う方法がわかりません。

于 2012-11-29T19:17:48.400 に答える