【问题标题】:Validate all input fields inside a div using jQuery使用 jQuery 验证 div 内的所有输入字段
【发布时间】:2017-11-27 13:56:59
【问题描述】:

我正在使用下面的 jQuery 函数来验证 div 中的所有字段。我的问题是即使我填写了所有字段,它也总是返回 false。

function validate(id) {
            //:text, :checkbox, select, textarea
            var isFormValid = true;
            var div = $(id);
            $(div).find(":text, select").each(function () {
                if (this.value == "" && !$(this).hasClass("no-req")) {
                    $(this).addClass("required");
                    isFormValid = false;
                    $(this).focus();
                }
                else {
                    $(this).removeClass("required");
                }
            });
            if (!isFormValid) {
                alert("Please fill all the higlighted fields!");
            }
            return isFormValid;

        }

在 Asp.net 按钮客户端单击我正在使用此代码

 <asp:Button ID="btnSave" runat="server" Text="Save" class="btn btn-success" OnClientClick="javascript: return validate('#tdAdd');"   OnClick="btnSave_Click" />

【问题讨论】:

标签: jquery asp.net validation


【解决方案1】:

改变这个:

$(div).find(":text, select").each(function () {
    if (this.val() == "" && !$(this).hasClass("no-req")) {

收件人:

div.find(":text, select").each(function () {
    if ($(this).val() == "" && !$(this).hasClass("no-req")) {

【讨论】:

【解决方案2】:

为什么不使用内置的 aspnet 自定义验证器?然后,您可以搜索特定 div 内的所有 TextBox,并返回 Validator 值。

<div id="validateTheseControls">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <br />
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

    <asp:CustomValidator ID="CustomValidator1" runat="server" 
    ClientValidationFunction="validateControlsInDiv" ErrorMessage="Not all fields are filled"></asp:CustomValidator>
</div>

<script type="text/javascript">
    function validateControlsInDiv(sender, element) {
        var isValid = true;

        $('#validateTheseControls input[type="text"]').each(function () {
            if ($(this).val() == "") {
                isValid = false;
            }
        });

        element.IsValid = isValid;
    }
</script>

【讨论】:

    猜你喜欢
    • 2022-01-14
    • 1970-01-01
    • 2016-08-25
    • 2015-02-24
    • 2015-09-20
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多