-1

Default.aspxページには、以下のようなテキストボックスがいくつかあります。

<asp:TextBox ID="myTextbox" runat="server"></asp:TextBox>

ユーザーがボタンをクリックして送信すると、次のJavaScriptが実行されます。

            $(function () {
            $('#<%= myButton.ClientID %>').click(function (clickToExecuteMyMethod) {
                var userWantsToSubmit = window.confirm("Are you sure you want to press the button?");
                if (userWantsToSubmit) {
                    $.blockUI({ overlayCSS: { backgroundColor: '#00f' }, message: '<h1>Please wait a while...</h1>' });
                }
                if (!userWantsToSubmit) {
                    clickToExecuteMyMethod.preventDefault();
                }
            });
        });    

しかし、さらにjqueryを使用して、同じボタンが押されたときにmyTextboxに何か(何か)が入力されたことを検証したいと思います。検証が成功した場合は、他のJavaScriptを起動する必要があります。

4

2 に答える 2

2

個々のテキストボックスをチェックする単純なケースでは、テキストボックスの値を次のように取得するだけです。.val()

$('#<%= myButton.ClientID %>').click(function (clickToExecuteMyMethod) {
    var userWantsToSubmit = window.confirm("Are you sure you want to press the button?");

    // Check to see if the textbox is empty
    var isValid = $('#<%= myTextbox.ClientID %>').val() != "";

    if (userWantsToSubmit && isValid) {
        $.blockUI({ overlayCSS: { backgroundColor: '#00f' }, message: '<h1>Please wait a while...</h1>' });
    } else {
        clickToExecuteMyMethod.preventDefault();
    }
}); 

ただし、これは非常にスケーラブルなソリューションにはなりません。jquery検証プラグインのようなものを見るか、他の検証ソリューションをグーグルで試してみることをお勧めします。周りにはたくさんあります。

于 2012-10-24T00:11:26.680 に答える
0

ASP.Netページ検証コントロールを使用している場合は、クライアント側の検証ルーチンを呼び出すだけです。

$(function () {
    $('#<%= myButton.ClientID %>').click(function (clickToExecuteMyMethod) {
        var userWantsToSubmit = window.confirm("Are you sure you want to press the button?");
        Page_ClientValidate('validationGroup'); //validate using ASP.Net validator controls.
        if (userWantsToSubmit && Page_IsValid) {
            $.blockUI({
                "overlayCSS": {
                    "backgroundColor": "#00f"
                },
                "message": "<h1>Please wait a while...</h1>"
            });
        }
        if (!userWantsToSubmit || !Page_IsValid) {
            clickToExecuteMyMethod.preventDefault();
        }
        return Page_IsValid;
    });
});
于 2012-10-24T00:18:50.270 に答える