简体   繁体   English

重置必填字段 - jQuery

[英]Reset required fields - jQuery

I have some fields that I'm requiring depending on which button is clicked. 根据点击的按钮,我需要一些字段。 The behavior I'm seeing though is not what I would expect nor desire. 我所看到的行为并不是我所期望的,也不是我想要的。 When I click one of the buttons, it sets the required fields as I'd like, but then if I click another button, it doesn't reset them for some reason. 当我单击其中一个按钮时,它会按照我的意愿设置所需的字段,但如果我单击另一个按钮,则由于某种原因它不会重置它们。

Code is below. 代码如下。 Thanks for any help you can provide: 感谢您的任何帮助,您可以提供:

function makeAllRequired() {
        $("#SomeForm").validate({
            rules: {
                StartDate: {
                    required: true,
                    date: true
                },
                Name: {
                    required: true
                }

            },
            errorElement: "div"
        });
    }

    function makeSomeRequired() {
        $("#SomeForm").validate({
            rules: {
                StartDate: {
                    required: true,
                    date: true
                }
            },
            errorElement: "div"
        });
    }

    $(document).ready(function () {
        $("#SomeButtonOne").click(function () {
            makeAllRequired();
            $("#SomeForm").attr("action", "/here/there");
            $("#SomeForm").submit();
        });
$("#SomeButtonTwo").click(function () {
            makeSomeRequired();
            $("#SomeForm").attr("action", "/here/elsewhere");
            $("#SomeForm").submit();
        });
});

尝试在设置新的必需项目之前重置表单: http//docs.jquery.com/Plugins/Validation/Validator/resetForm

I'm not 100% sure but try removing the rules first before you apply new ones 我不是百分百肯定,但在应用新规则之前先尝试删除规则

function makeAllRequired() {
    $("#SomeForm").rules("remove");
    $("#SomeForm").validate({
        rules: {
            StartDate: {
                required: true,
                date: true
            },
            Name: {
                required: true
            }

        },
        errorElement: "div"
    });
}

function makeSomeRequired() {
    $("#SomeForm").rules("remove");
    $("#SomeForm").validate({
        rules: {
            StartDate: {
                required: true,
                date: true
            }
        },
        errorElement: "div"
    });
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM