【问题标题】:How to call two method in button click?如何在按钮单击中调用两个方法?
【发布时间】:2018-12-07 09:54:22
【问题描述】:

如何在 Button.click 中调用两种方法。我希望当我单击按钮时,一种方法在后面的代码中运行,另一种在脚本标签中运行。

HTML:

<asp:Button ID="btnUpdate" runat="server" Text="Button" OnClick="btnClick" />

Javascript:

var modal1 = document.getElementById('myModal1');
var modal2 = document.getElementById('myModal2');
var btnUpdate = document.getElementById("btnUpdate")

btnUpdate.onclick = function (e) {
    e.preventDefault();
    modal1.style.display = "none";
    modal2.style.display = "block";
} 

后面的代码:

protected void btnClick(object sender, EventArgs e)
{
    txtCode.Value = "Foo";
}

现在脚本标签中的方法有效,但另一个无效。请帮助我。 顺便说一句,我使用的是 Asp.Net。

【问题讨论】:

  • Can OnClick do 2 things?的可能重复
  • 加载浏览器后,只有 javascript 可以工作。我希望您使用的是 asp 及其服务器端语言,加载后它将无法工作。如果要调用服务器端脚本,则需要使用 ajax 调用 api。
  • 你能举个例子吗?

标签: javascript c# html


【解决方案1】:

按钮的默认行为是将表单提交到服务器。

使用e.preventDefault(); 时,您会阻止将表单提交到服务器,这就是客户端代码有效而服务器无效的原因。

【讨论】:

  • 我删除了这个字符串(e.preventDefault();)。它按我的意愿工作。但是脚本中的方法出现的弹出窗口立即消失了。我该怎么办?
  • 不要删除它,将其留在原处并手动提交表单 - 使用这种方法,网站不会重新加载,并且弹出窗口将保持您的预期。本机:document.getElementById("myForm").submit(); jquery: $( "form" ).submit();
  • 我在脚本标签中写了你的代码字符串。但是这次我没有看到我的弹出窗口。
  • 页面已重新加载,这就是您的弹出窗口不显示的原因。我建议你看一下WebMethod,基本上是你代码中的一个静态方法,可以接收Ajax调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
  • 2014-08-24
  • 2015-10-01
  • 2012-05-15
  • 1970-01-01
  • 2018-06-27
相关资源
最近更新 更多