0

ボタンクリックで作動する機能を作ろうとしています。クリックすると、関数は各入力 type=text 要素をループし、値属性を variable に割り当てます。その場合、 variable = null または variable = "" メソッド confirm('are you sure you want to save a blank row') を呼び出します。ここに私のコード/疑似コードがあります:

<script type="text/javascript">
    function isInputEmpty() {
        $("#btnSave").click(function(){
            $('input[type=text]').each(function(){
                var x = $(this).attr('value');
                var bool = false;
                if(x == null || x == "")
                {
                    bool = true;
                }
                else
                {
                    send the request
                }
                if(bool == true)
                {
                    if(confirm('Are you sure you want to save a blank URL?'))
                    {
                        send the request
                    }
                    else
                    {
                        do nothing or cancel the request
                    }
                }
                else
                {
                    send the request
                }
             }
        }
</script>

これが私のASPボタンコードです:

<asp:Button ID="btnSave" runat="server" Text="Save"/>

さらに詳しい情報が必要な場合は、お知らせください。前もって感謝します

4

4 に答える 4

1

それは ASP.NET であるため、その ID は異なるようにレンダリングされるため、クライアント ID を取得してみてください (JS が同じファイルにある場合、そうでない場合は、一意のクラスを使用し、それを介してハンドラーを割り当てます)。

$("#<%=btnSave.ClientID%>").click(function() {
    $("input:text").each(function() {
        if (!this.value.length) {
            var confirm = confirm('are you sure you want to save a blank row')
            ..
        }
    });
});
于 2013-11-08T15:48:19.453 に答える
0

あなたの質問が何であるかは完全には明らかではありませんが、ここでの他の回答は、IDの問題と要素のIDを変更する.Net Webフォームに正しく焦点を当てています。

提案された他の解決策は問題ありませんが、別の方法もあり、それは部分的な ID で検索することです。clientIDmode が static に設定されていない場合 (または .Net 4.0 より前の場合)、.NET ID にはアンダースコアの後に常に元の ID が追加されるため、次のように jquery を使用して要素を見つけることができます。

$("[id$='_btnSave']").click(function(){   ...  
于 2013-11-08T15:57:58.377 に答える