Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery验证-文本输入需要单选按钮_Javascript_Jquery_Html_Forms_Jquery Validate - Fatal编程技术网

Javascript JQuery验证-文本输入需要单选按钮

Javascript JQuery验证-文本输入需要单选按钮,javascript,jquery,html,forms,jquery-validate,Javascript,Jquery,Html,Forms,Jquery Validate,我有两个单选按钮和一个文本输入。我想要文本输入所需的一个收音机,然后进行验证。除非选中,否则我可以禁用文本输入字段,但我认为用户更直观的做法是首先允许文本输入,并且只有在他们没有选择收音机时才会出错 表单返回了一个错误,即需要无线电,但我不希望远程检查启动,除非选择了其中一个单选按钮 这就是我所拥有的… JQuery: jQuery( "#modalform" ).validate({ onkeyup: false, onfocusout: false, rules: {

我有两个单选按钮和一个文本输入。我想要文本输入所需的一个收音机,然后进行验证。除非选中,否则我可以禁用文本输入字段,但我认为用户更直观的做法是首先允许文本输入,并且只有在他们没有选择收音机时才会出错

表单返回了一个错误,即需要无线电,但我不希望远程检查启动,除非选择了其中一个单选按钮

这就是我所拥有的…
JQuery:

jQuery( "#modalform" ).validate({
    onkeyup: false,
    onfocusout: false,
    rules: {
        'register_domain[]': {
            required: true             
        },
        chosen_domain: {
            required: true,
            minlength: 4,
            remote: {
                url: "check.php",
                type: "post",
                data: {
                    register_domain: function() {
                        return jQuery('input[name="register_domain[]"]');
                    }
                }
            }
        }
        },
    messages: {
        'register_domain[]': {
            required: "Choose one"
        },
        chosen_domain: {
            required: "Required input",
            minlength: jQuery.validator.format("Please, at least {0} characters are necessary"),
            remote: jQuery.validator.format("Invalid domain name: {0}")
        }
    }
});
<label class="radio-inline">
    <input type="radio" name="register_domain[]" id="own_domain" value="owned"> Own Domain
</label>
<label class="radio-inline">
    <input type="radio" name="register_domain[]" id="new_domain" value="new"> Register Domain
</label>
<label for="register_domain[]" class="error" style="display:none;">Please choose one.</label>
<input type="text" size="50" placeholder="www." id="inputDomain" name="chosen_domain" class="form-control required" required="required">
表单字段:

jQuery( "#modalform" ).validate({
    onkeyup: false,
    onfocusout: false,
    rules: {
        'register_domain[]': {
            required: true             
        },
        chosen_domain: {
            required: true,
            minlength: 4,
            remote: {
                url: "check.php",
                type: "post",
                data: {
                    register_domain: function() {
                        return jQuery('input[name="register_domain[]"]');
                    }
                }
            }
        }
        },
    messages: {
        'register_domain[]': {
            required: "Choose one"
        },
        chosen_domain: {
            required: "Required input",
            minlength: jQuery.validator.format("Please, at least {0} characters are necessary"),
            remote: jQuery.validator.format("Invalid domain name: {0}")
        }
    }
});
<label class="radio-inline">
    <input type="radio" name="register_domain[]" id="own_domain" value="owned"> Own Domain
</label>
<label class="radio-inline">
    <input type="radio" name="register_domain[]" id="new_domain" value="new"> Register Domain
</label>
<label for="register_domain[]" class="error" style="display:none;">Please choose one.</label>
<input type="text" size="50" placeholder="www." id="inputDomain" name="chosen_domain" class="form-control required" required="required">

自有领域
注册域
请选择一个。

引用OP

“我不希望远程支票生效,除非选择了其中一个单选按钮。”

您可以使用在外部
更改
处理程序中切换
远程
规则

$('input[name="register_domain[]"]').on('change', function() {
    if ($(this).val() == "owned") {
        $('input[name="chosen_domain"]').rules('remove', 'remote');
    } else {
        $('input[name="chosen_domain"]').rules('add', {
            remote: {
                url: "check.php",
                type: "post",
                data: {
                    register_domain: function() {
                        return jQuery('input[name="register_domain[]"]');
                    }
                }
            }
        });
    }
});

主要问题:什么不起作用?什么不起作用,是远程方法在未选中单选按钮的情况下仍会激活。谢谢Sparky,等我回到计算机后我会试试这个。@JamesShaver,他是Sparky,:)他的代码肯定会起作用:)