我有一个asp按钮。由于它是服务器端的,所以只能显示给已登录的用户,但我想让它运行一个JavaScript函数。似乎当它的runat="server"时,它总是调用PostBack事件。
我还有一个普通按钮(<input...
),它没有运行在服务器端,它可以正常工作...
我该如何使这个按钮仅运行JavaScript而不进行PostBack?
我有一个asp按钮。由于它是服务器端的,所以只能显示给已登录的用户,但我想让它运行一个JavaScript函数。似乎当它的runat="server"时,它总是调用PostBack事件。
我还有一个普通按钮(<input...
),它没有运行在服务器端,它可以正常工作...
我该如何使这个按钮仅运行JavaScript而不进行PostBack?
您可以使用以下代码:
<asp:Button ID="Button2" runat="server"
Text="Pulsa"
OnClientClick="this.disabled=true"
UseSubmitBehavior="False"/>
如果需要提交
...
<form id="form1" runat="server" onsubmit="deshabilita()">
...
<script type="text/javascript">
function deshabilita()
{
var btn = "<%= Button1.ClientID %>";
if (confirm("Confirme postback"))
{
document.getElementById(btn).disabled = true;
return true;
}
return false;
}
</script>
<asp:Button runat="server" ID="btnID" />
$("#btnID").click(function(e){e.preventDefault();})
function jsFunction() {
try {
// Logic goes here
return false; // true for postback and false for not postback
} catch (e) {
alert(e.message);
return false;
}
}
<asp:button runat="server" id="btnSubmit" OnClientClick="return jsFunction()" />
以下是JavaScript函数。
注意*: 在JavaScript函数中始终使用try-catch块,并从catch块返回false,以防止不正确的计算。