1

以下不起作用。有一个服务器提交按钮并尝试调用客户端按钮的单击操作以进行一些验证。但是,该函数不会被调用!

<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");
});
});

任何帮助表示赞赏。

4

3 回答 3

1

如果您正在调用 btnNext_Click,则该代码将运行server-side。所以按钮的点击事件永远不会被客户端触发。

如果要在客户端触发它,则需要使用客户端脚本,例如:

if (<%= some_condition %>)
{
    $('#<%= btnNext.ClientID %>').click();
}
于 2012-07-18T23:58:28.457 回答
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

         }
于 2012-07-19T00:24:46.380 回答
0

由于某些奇怪的原因,当这个特定的“点击”事件被内嵌到 aspx 页面本身时,它就会运行。我将它保存到 js 文件的那一刻,它停止工作。请记住,我在页面上还有其他控件,它们在同一个 js 文件中具有完美运行的事件。

于 2012-07-20T18:17:41.930 回答