javascript - 在 asp.net 中单击按钮时客户端 Jquery 验证?

标签 javascript jquery asp.net validation

我正在尝试使用 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 进行客户端验证,如果验证通过,返回 true,否则 返回 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;
         }
}

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

关于javascript - 在 asp.net 中单击按钮时客户端 Jquery 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30295863/

相关文章:

javascript - 在 ComponentWillMount 之前渲染

jQuery 循环阻塞站点(socket.io 数据)

c# - [A]System.Web.WebPages.Razor.Configuration.HostSection 无法转换为 [B]System.Web.WebPages.Razor.Configuration.HostSection

Asp.net - 如何将按钮转换为超链接

javascript - IE 中的文本额外别名(锯齿状)- 看起来很糟糕 - 但在 FF 和 Chrome 中还可以

javascript - jQuery 图像转换器 : Alt tags

使用通配符获取有效 IP 的 Javascript 和 Regex

javascript - HTML 检查元素更改布局

jquery - 返回需要执行的javascript,是否使用json?

c# - 下载后启动javascript