0

我有一个广播组选择用户要搜索的内容。用户不搜索的输入被 JavaScript 隐藏。如何防止它们被提交?例如,如果选择了 radio1,我不希望输入带有"search-by-date"要提交的名称。除了删除 name 属性外,有什么办法可以做到吗?如果删除 name 属性是唯一/最好的方法,那么在哪里做呢?

谢谢

4

3 回答 3

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;
  }
});
于 2012-07-20T08:24:59.830 回答
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 并将空输入设置为禁用

于 2012-07-20T08:35:50.923 回答
1

禁用该字段。

$('#your_form_id').submit(function(){
    if($("input:radio[name=radio1]").prop('checked')){
        $("input:radio[name=search-by-date]").prop('disabled',true);
    }
});
于 2012-07-20T08:38:31.387 回答