以下不起作用。有一个服务器提交按钮,并尝试调用客户端按钮的单击操作,以进行一些验证。但是,该函数不会被调用!
<head runat="server">
<script type="text/javascript" src="scripts/jQuery.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button runat="server" Text="Next" ID="btnNext" />
</div>
</form>
</body>
$(document).ready(function() {
$('#<%= btnNext.ClientID %>').click(function() {
alert("Success");
});
});
感谢任何帮助。
答案 0 :(得分:1)
如果您正在调用btnNext_Click,则该代码将运行服务器端。因此,按钮的点击事件永远不会被客户端触发。
如果您想在客户端触发它,则需要使用客户端脚本,例如:
if (<%= some_condition %>)
{
$('#<%= btnNext.ClientID %>').click();
}
答案 1 :(得分:1)
试试这个
<asp:Button runat="server" Text="Next" ID="btnNext" onClientClick="fnClickEvent();"/>
然后在客户端代码中
function fnClickEvent(){
var valid = false;
if (//validation code---){
valid = true;
}
if valid{ return true; }
if notvalid { return false;} \\\ this prevents postback
}
答案 2 :(得分:0)
出于一些奇怪的原因,当它在aspx页面本身内联时,这个特定的“click”事件会运行。我将它保存到js文件的那一刻,它就会停止工作。请记住,我在页面上有其他控件,它们在同一个js文件中有完美的事件。