JavaScriptからサーバー側のボタンクリックイベントを発生させるにはどうすればよいですか?
私はこのようにしてみました:
document.getElementById("<%= ButtonID.ClientID %>").click();
しかし、役に立たない。どうすればいいですか?
次の行をJavaScript関数に配置するだけです。
__doPostBack('btnSubmit','OnClick');
または、このようなことをしてください:
$('#btnSubmit').trigger('click');
var clickButton = document.getElementById("<%= btnClearSession.ClientID %>");
clickButton.click();
その解決策は私にとってはうまくいきますが、あなたのaspボタンが
Visible = "False"
そのスクリプトでトリガーされるボタンを非表示にするには、<div hidden></div>
以下のJavaScriptコードを使用しましたが、動作します...
var clickButton = document.getElementById("<%= btnClearSession.ClientID %>");
clickButton.click();
ここに掲載されている解決策はどれも私にとってはうまくいかず、これが問題に対する私の最終的な解決策でした。
// In Server Side code
protected void Page_Load(object sender, EventArgs e)
{
Page.GetPostBackEventReference(hiddenButton);
}
// Javascript
function SetSaved() {
__doPostBack("<%= hiddenButton.UniqueID %>", "OnClick");
}
// ASP
<asp:Button ID="hiddenButton" runat="server" OnClick="btnSaveGroup_Click" Visible="false"/>
私はこの問題を2日間で過ごし、突然(HTML送信ボタンの)送信ボタンのJavaScriptメソッドでこのクリックメソッド(aspボタン用)を使用していることに気付きました...
つまり->
次のようなHTML送信ボタンとASPボタンがあります。
_<input type="submit" value="Siparişi Gönder" onclick="SendEmail()" />
<asp:Button ID="sendEmailButton" runat="server" Text="Gönder" OnClick="SendToEmail" Visible="True"></asp:Button>
_
SendToEmail()はDefault.aspxのサーバー側メソッドですSendEmail()は次のようなjavascriptメソッドです:
_<script type="text/javascript" lang="javascript">
function SendEmail() {
document.getElementById('<%= sendEmailButton.UniqueID %>').click();
alert("Your message is sending...");
}
</script>
_
そして、この「document.getElementById( '<%= sendEmailButton.UniqueID%>')。click();」この方法はクロームだけでは機能しませんでした。 IEおよびFirefoxで動作していました。
その後、Cromeで「SendToEmail()」メソッドを実行するための多くの方法を試してみました。
その後、突然html送信ボタンを変更しました->このようなhtmlボタンだけで、今は動作しています:
<input type="button" value="Siparişi Gönder" onclick="SendEmail()" />
良い一日を...
私は物事をこのように機能させることができます:
htmlボタンによって実行されるjavascriptジャンクション内:
document.getElementById("<%= Button2.ClientID %>").click();
Div内のASPボタン:
<div id="submitBtn" style="display: none;">
<asp:Button ID="Button2" runat="server" Text="Submit" ValidationGroup="AllValidators" OnClick="Button2_Click" />
</div>
以下のコードが実行されないことを除いて、すべてが.csファイルから実行されます。メッセージボックスはなく、同じページにリダイレクトされます(すべてのボックスを更新します)。
int count = cmd.ExecuteNonQuery();
if (count > 0)
{
cmd2.CommandText = insertSuperRoster;
cmd2.Connection = con;
cmd2.ExecuteNonQuery();
string url = "VaccineRefusal.aspx";
ClientScript.RegisterStartupScript(this.GetType(), "callfunction", "alert('Data Inserted Successfully!');window.location.href = '" + url + "';", true);
}
これらの行が実行されない理由はありますか?
JavaScriptコードから非表示フィールドに入力し、JavaScriptから明示的なポストバックを実行できます。次に、サーバー側から、そのhiddenfieldを確認し、必要なことを行います。
$("#"+document.getElementById("<%= ButtonID.ClientID %>")).trigger("click");
document.FormName.btnSubmit.click();
私のために働く。楽しい。