从jQuery提交的表单中排除div?

时间:2012-09-12 15:22:13

标签: jquery html submit

当我通过jQuery提交表单时,如下所示:jQuery('#myForm').submit();
我不想在该表单中的指定div中发送一些信息(我的意思是所有输入字段,选择元素,textarea元素等都不允许发送到服务器),但我不知道要防止该div提交所有者表格。
你能帮帮我吗?非常感谢你。


谢谢大家的快速回复。我试图将“div”中的所有输入字段的“disabled”属性设置为false,但是当我在服务器上再次检查它时,仍然提交了其他一些字段(例如select,textarea)。我想我也应该禁用它们。有没有办法删除或“隐藏/禁用”整个div而不禁用每种输入元素?

4 个答案:

答案 0 :(得分:3)

这样的事情应该这样做:

$('div#excludeMyInputs input').prop("disabled",true);
$('#myform').submit();
$('div#excludeMyInputs input').prop("disabled",false);

答案 1 :(得分:1)

如果您有一个带有输入的表单,并且您不想在某处发送这些输入的值,我会说您可能会错误地解决它。

但是,您可以将#myForm表单元素的表单元素放在之外(例如,以名为#myForm2的第二种形式),然后这些输入将是被jQuery('#myForm').submit();忽略,但它们仍会显示在页面上。

答案 2 :(得分:1)

之前的post可能会对您有所帮助。看起来你最好的选择是在调用之前禁用或删除div中的表单元素.submit()

答案 3 :(得分:1)

您可以使用$ .ajax函数选择要发送的数据:

$(document).on('submit','#myForm',function(e) {
  e.preventDefault();
  $.ajax({
    url:$(this).attr('action'),
    type:'post',
    data:{
      input1:$('#input1').val(),
      input2:$('#input2').val()
      // etc etc
    },
    success:function(data) {
      console.log(data);
    },
    error:function(jqXHR, textStatus, errorThrown) {
      console.log(errorThrown);
    }
  });
});