asp.net フォームに送信ボタンがあります。
<asp:Button ID="btnSave" Text="Save" runat="server" Width="75px" Enabled="false"
OnClick="btnSave_Click"/>
html で次のようにレンダリングされます。
<input id="MainContent_btnSave" type="submit" style="width:75px;" value="Save" name="ctl00$MainContent$btnSave">
ダイアログの [保存] ボタンを組み込んだ jquery ui ダイアログを使用しています。ユーザーがダイアログの [保存] ボタンをクリックすると、送信ボタンのクリック イベント (上記) を強制しようとしていますが、まったく運がありません。私は次のことを試しましたが、すべてがフォームの送信に失敗しました:
function SaveDialog() {
$("input[id$='_btnSave']").click();
$("input[id$='_btnSave']").trigger('click');
$('#<%=btnSave.ClientID %>').trigger('click');
document.getElementById('<%=btnSave.ClientID %>').onclick();
}
SaveDialog() 関数にアラートを配置することで、その関数が呼び出されていることを確認しました。また、関数内の最初のセレクターが実際に [保存] ボタンを見つけていることも確認しました。
私が推測できる唯一のことは、モーダルであるjquery uiダイアログが、保存ボタンの送信イベントの発生を何らかの形で停止していることです。
これに関する助けや考えは大歓迎です。ありがとう。
編集:これはフォームを送信するために機能します:
$(form:first").submit();
しかし、送信クリック イベントを発生させる方法を理解する必要があります。