我有一个广播组选择用户要搜索的内容。使用JavaScript隐藏用户未搜索的输入。我如何阻止他们被提交?例如。如果选择了radio1,我不希望提交名为"search-by-date"
的输入。除了删除name属性之外,有什么方法可以做到吗?如果删除name属性是唯一/最好的方法,那么正确的位置在哪里?
由于
答案 0 :(得分:1)
我曾经为了不发送空值而制作的脚本,这可能会有所帮助,如果没有填写任何内容,它也会禁用该表单:
$("form").submit(function() {
var count = $(this).find(':input').filter(function() {
return $(this).val() != "";
}).length;
if (count > 0) {
$(this).find(':input[value=""]').attr("disabled", "disabled");
return true;
} else {
return false;
}
});
答案 1 :(得分:1)
采用Gijs代码示例并使其更小:
$("form").submit(function() {
var inputs = $(this).find(':input'),
emptyInputs = inputs.filter('[value=""]');
return inputs.length > emptyInputs.length && emptyInputs.prop("disabled", true).length > 0;
});
它检查所有输入是否为空然后返回false但是如果有输入有值且输入为空,则返回true并将空输入设置为禁用
答案 2 :(得分:1)
禁用该字段。
$('#your_form_id').submit(function(){
if($("input:radio[name=radio1]").prop('checked')){
$("input:radio[name=search-by-date]").prop('disabled',true);
}
});