客户端Jquery验证按钮在asp.net中单击

Client Side Jquery Validation on Button Click in asp.net?

本文关键字:net 单击 asp Jquery 验证 按钮 客户端      更新时间:2023-09-26

我试图使用Jquery验证按钮点击字段,但问题是,事件和Jquery事件背后的代码似乎并行运行。

(更新)

 <asp:Button ID="btnsave" runat="server" ClientIDMode="Static" OnClientClick="return clientFunction()" CssClass="ButtonText"
                    Text="SAVE" OnClick="btnsave_Click" />
                    &nbsp;

客户端验证:

<script type="text/javascript">
    function clientFunction() {
        var isValid = true;
        $('#txtsupplieruserid,#txtsuppliername,#txtbusinessemailid,#txtorganizationname,#txtphonenumber,#txtcity,#txtstate,#txtpostalcode,#txtaddress').each(function () {
            if ($.trim($(this).val()) == '') {
                isValid = false;
                $(this).css({
                    "border": "1px solid red",
                    "background": "#FFCECE"
                });
            }
            else {
                $(this).css({
                    "border": "",
                    "background": ""
                });
            }
        });
        if (isValid == false) {
            e.preventDefault();
            return isValid;
        }
        else {
            return isValid;
        }
    }
</script>

我想先通过Jquery验证,而不是去后面的代码,如果它通过客户端验证。我想使用Jquery而不是纯Javascript。

您可以使用OnClientClick进行客户端验证,如果验证通过return true,则使用return false。如果返回true,则调用服务器端函数,否则不调用。

<asp:Button ID="btnsave" runat="server" ClientIDMode="Static" CssClass="ButtonText" Text="SAVE" OnClientClick="return clientFunction()"   onclick="btnsave_Click" />

function clientFunction()
{
    var isValid = true;
    $('#txtsupplieruserid,#txtsuppliername,#txtbusinessemailid,#txtorganizationname,#txtphonenumber,#txtcity,#txtstate,#txtpostalcode,#txtaddress').each(function ()  
    {
             if ($.trim($(this).val()) == '') {
                 isValid = false;
                 $(this).css({
                     "border": "1px solid red",
                     "background": "#FFCECE"
                 });
             }
             else {
                 $(this).css({
                     "border": "",
                     "background": ""
                 });
             }
     });
         if (isValid == false) {
             return false;
         }
         else {
             return true;
         }
}

如果您的控件是server controls,那么您可能需要使用ClientIDMode="Static"。所以它们的ID保持不变。