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

これを試して

<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 に答える
1

btnNext_Click を呼び出している場合、そのコードはサーバー側で実行されます。したがって、ボタンのクリック イベントがクライアント側でトリガーされることはありません。

クライアント側でトリガーしたい場合は、クライアント側のスクリプトを使用する必要があります。

if (<%= some_condition %>)
{
    $('#<%= btnNext.ClientID %>').click();
}
于 2012-07-18T23:58:28.457 に答える
0

奇妙な理由で、この特定の「クリック」イベントは、aspx ページ自体にインラインで配置されたときに実行されます。jsファイルに保存した瞬間、動作しなくなります。同じjsファイルにイベントがあり、完全に機能する他のコントロールがページにあることに注意してください。

于 2012-07-20T18:17:41.930 に答える