JavaScript で __dopostback() を使用する

Anika Tabassum Era 2023年6月20日
JavaScript で __dopostback() を使用する

通常、__dopostback() 関数は ASP.NET に関連付けられています。 ただし、次の例では、対応する .NET コード スニペットは含めません。 むしろ、動作原理を説明します。

JavaScript の __dopostback() 関数は、EventTargetEventArgument の 2つのパラメーターを取ります。 これらの引数により、post メソッドが起動される原因となるイベントを識別できます。

後で、2 番目の引数を使用して、有効な投稿の後に参照される必要なメッセージまたはアクションについて説明します。

以下のコード フェンスを調べて、関数がどのように機能するかを大まかに把握してみましょう。 aspx ファイルの例をよりよく理解するには、この明示的な スレッド を参考にしてください。

JavaScript で __dopostback() 関数を使用する

ここで、インスタンスにはいくつかの入力フィールド hidden があり、__EVENTTARGET および __EVENTARGUMENT id が設定されている可能性がある値を取得します。 これらの入力に関係なく、アクション ボタンが押されるとメイン関数がトリガーされます。

後の button は、関数 __dopostback( target, argument) をむき出しにします。ここで、ターゲットはアクション イベントであり、引数は aspx ファイルに設定されます。 どのような条件や役割を演じるかは、議論に基づいて決定されます。

通常、フォーム アクションが設定されていない場合、フォーム データの投稿を参照し、同じページの新しいインスタンスをリロードします。 action が設定されている場合、投稿は現在のページに対して実行され、その後、目的の Web ページにルーティングされます。

入力用のドロップダウン ボックスがあればどうでしょうか。 その場合、Web ページの最初のインスタンスは、GET メソッドでサーバーを処理することを検討します。

次のリロードごとに、options リストが再び追加され、スタックは次のようになります。 したがって、1つの (最初の) GET リクエストに条件を設定すると、リストは後で POST メソッドに拡張されません。

この説明はよくわかります。

ただし、__dopostback() 関数は、後で変更される可能性がある Web コンテンツに関する適切なサーバー ポストを保証するためのものでした。

コードスニペット:

<body>
    <form name="form1" method="post" action="" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
</div>
<script type="text/javascript">
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
</script>
    </div>
    <button id="LinkButton1" onsubmit="javascript:__doPostBack('LinkButton1','')">Submit</a>
    </form>
</body>
</html>

出力:

javascript dopostback

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

関連記事 - JavaScript Function