是否可以使用Javascript禁用服务器端按钮的提交行为? 注意:我不想禁用该按钮,用户将单击该按钮,但它不会从服务器提交/获取任何值。
情形:
<asp:Button ID="Button1" runat="server" Text="Submit" onclick="Button1_Click" OnClientClick="Check()" />
的javascript:
function Check()
{
var res = confirm(" Are u sure whatYou have selected ")
if (res)
{
alert("yes");
}
else {
//Here I need to disable the submit behavoiur
}
}
}
}
答案 0 :(得分:9)
您需要确保在标记中将UseSubmitBehavior设置为false,然后您需要确保在调用回发javascript之前返回false。
编辑:
你应该返回函数的值,然后在函数retrun中返回true如果你想要回发,如果你不想返回false,则返回false。
<asp:Button ID="Button1" runat="server" Text="Submit" onclick="Button1_Click"
OnClientClick="return Check();" UseSubmitBehavior="false" />
使用Javascript:
function Check()
{
return confirm(" Are u sure whatYou have selected ");
}
答案 1 :(得分:3)
确定:从提交按钮的点击处理程序返回false。
答案 2 :(得分:1)
<input type='submit' onclick='return false;' />
这样的事情(如果在asp.net中没有以不同的方式完成。
答案 3 :(得分:0)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script>
function dostuff() {
alert('hello');
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<% =DateTime.Now.ToString() %>
<asp:Button ID="Mybutton" runat="server" UseSubmitBehavior="false" Text="Click"
OnClientClick="dostuff(); return false;" />
</div>
</form>
</body>
</html>
答案 4 :(得分:0)
我不推荐其他方法,因为它们存在两个问题:
在您的情况下,您只需要在else
块中包含以下内容:
document.getElementById("YourFormId").onsubmit = function() { return false; }
因此,事件在您的表单上而不是您的按钮,这是一个onsubmit事件。
答案 5 :(得分:0)
只是说返回false,在客户端点击事件中执行,这不会继续提交(或在asp.net中的__doPostBack())
答案 6 :(得分:0)
对我来说
OnClientClick =“if(!confirm('你确定吗?'))返回false;”
而不是
1-OnClientClick =“返回确认('你确定吗?'))”
或
2-OnClientClick =“确认('你确定吗?'))”
解决了问题
<asp:Button UseSubmitBehavior="false" OnClientClick="if (!confirm('are you sure?')) return false;" >