ホームページ  >  記事  >  ウェブフロントエンド  >  js は、asp.net Button_javascript スキルの Onclick イベント アプリケーションをトリガーします

js は、asp.net Button_javascript スキルの Onclick イベント アプリケーションをトリガーします

WBOY
WBOYオリジナル
2016-05-16 17:42:221520ブラウズ

asp.net にイベント ドリブンを導入した後は、1 ページ上で複数のボタンが異なるイベントをトリガーする問題を簡単に解決できるようになり、asp で複数のフォームを必要としたり、js スクリプトで制御したりするトラブルが回避されます。

asp.net は利便性をもたらす一方で、問題ももたらします。実際のアプリケーションでは、ページ内に複数のボタンが存在するケースは多くありません。ユーザーは、入力ボックスに内容を入力し、Enter キーを押してフォームを送信することに慣れています。 asp.net はイベント駆動モデルを使用しているため、デフォルトでは、ユーザーが Enter キーを押してもボタンの onclick イベントはトリガーされません。ユーザーが Enter キーを押したときにフォームを送信しなかったわけではありません。httpwath を見ると、ページ フォームが実際にはフォームの下のアクション ページに送信されていることがわかりますが、onclick イベントはトリガーされません。

asp.net イベント駆動モードでは、改行によってイベントをトリガーするには、js スクリプトを使用する必要があります。
asp.net の aspx ページのフォーム コード:

コードをコピーします コードは次のとおりです:



ただし、アクセス ページのソース コードで確認できます:
コードをコピーします コードは次のとおりです:



したがって、デフォルトでは、入力ボックスで Enter を直接押すと、実際にはフォームのアクションに対応するページにフォームが送信されます。イベント。
奇妙なことに、aspx ページで Web コントロールが使用されていない場合、入力ボックスで Enter キーを押しても、デフォルトではどのボタンの onclick イベントもトリガーされませんが、ページで Web コントロールが使用されている場合は、入力ボックスで Enter キーを押します。入力ボックスに入力すると、最初のボタンの onclick イベントがデフォルトでトリガーされます。 [ここでの 1 つ目は、Web コントロールのボタン コントロールを含む、ページ コードで最初に表示されるボタン コントロールを指します]
js を使用してボタン ボタンの onclick イベントをトリガーする方法について説明します。
デフォルトのボタン コントロール、HTML のコードは次のとおりです:
コードをコピーします コードは次のとおりです:



実際のクリックによってトリガーされる onclick イベントこのボタンの名前は js スクリプトを作成しました: __doPostBack(eventTarget,eventArgument)
ボタン コントロールにはプロパティがあります: UseSubmitBehavior、デフォルトは true ですが、これを false に変更すると、HTML ソース コードを見ると、明らかにわかります。 call js script 関数を参照してください。
コードをコピー コードは次のとおりです:



生成された JS スクリプト:
コードをコピーします コードは次のとおりです。



この内容を理解すると、トリガーされるボタンの onclick イベントを処理するのがはるかに簡単になります。入力ボックスで Enter を押す これは、入力ボックスで Enter を押すアクションをインターセプトし、js を介して __doPostBack 関数を呼び出して入力ボックスを OK します:


コードをコピーします コードは次のとおりです:
< ;input type="submit" name="Button1" value="Button" id="Button1" />


js スクリプト


コードをコピー コードは次のとおりです。 function KeyDown(btn) {
if (event.keyCode != 13) //キーは Enter キーではありません return; else //キーは Enter キーです try {
__doPostBack(btn, ''); ) {
alert(e);
}


入力ボックスとボタン コントロールを Web コントロール内に含める場合は、次の点に特別な注意を払う必要があります:
コントロール内のボタン コントロールによって生成される HTML コード:
コードをコピーします コードは次のとおりです:


__doPostBack は、Web コントロールのボタンの name 属性を使用し、生成された HTML コードにコントロールの ID を追加します。 , 間違ったボタン名を書かないでください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。