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,:)他的代码肯定会起作用:)