如果单击输入提交并选中复选框,则为jQuery验证表单

时间:2017-12-07 13:24:01

标签: javascript jquery

我有一个php页面,用户可以在其中发布或保存他的内容。在提交他的数据(使用全局数组POST)之前,我想只在选中了相应的复选框并且单击输入#publish(而不是输入#save)时才需要输入一些

我的HTML代码

<form id="myForm">
    <input type="checkbox" id="page1" name="selected[]" value="page1" />
    <input type="checkbox" id="page2" name="selected[]" value="page2" />

    <input type="text" id="titlePag1" name="titlePag1" value=""/>
    <input type="text" id="textPag1" name="textPag1" value=""/>

    <input type="text" id="titlePag2" name="titlePag2" value=""/>
    <input type="text" id="textPag2" name="textPag2" value=""/>

    <input type="submit" id="save" name="save" value="Save">
    <input type="submit" id="publish" name="publish" value="publish">
</form>

示例:如果选中复选框#page2并单击#publish,则需要#titlePag2和#textPage2。否则,他们不是必需的。

我正在使用jquery验证表单,而提交(#publish)的解决方案可能是:

jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$('#myForm').validate({
rules: {
    titlePag1: {
        required: function(element) {
            return $("#publish").val() != "";
        }
    },

    textPag1: {
        required: function(element) {
            return $("#publish").val() != "";
        }
    }
}
});

如何为选中的复选框设置其他规则?

1 个答案:

答案 0 :(得分:0)

checkBox: {
    required: function(element) {
        return $("#checkbox").attr("checked");
    }
}