ASP.NET のサーバー コントロール ポストバックは、次の JS コードを使用します:
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget,eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventsTarget;
theForm.__EVENTARGUMENT.value =eventArgument
theForm.submit; ( );
}
}
今日遭遇した問題は、サーバー側のコントロールがポストバックする前に、隠しフィールドの 1 つに値を割り当てたいということです。サーバーへの値。
そこで、JQuery の submit([[data],fn]) メソッドを使用してイベントを追加しましたが、機能しないことがわかりました。
$("form:first").submit() を試したところ、イベント関数をトリガーできることがわかりました。
何が起こっているのですか?情報を確認したところ、jsのネイティブ関数void submit()ではsubmitイベントがトリガーされないことが分かりました。上記のコードに
if (< ;span style="color:#006600">!theForm.onsubmit || (theForm.onsubmit() != false)) {
...
}
以上です。
追加イベントを
$ ("form:first")
.get(0).onsubmit = function () {
...
};
以上です。
さらに、JQuery の submit([[data],fn]) を使用して追加されたイベントは、$().submit() を使用してトリガーできます。