1

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


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

4

4 回答 4

3

像这样的事情应该这样做:

$('div#excludeMyInputs input').prop("disabled",true);
$('#myform').submit();
$('div#excludeMyInputs input').prop("disabled",false);
于 2012-09-12T15:29:04.850 回答
1

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

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

于 2012-09-12T15:25:51.610 回答
1

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

于 2012-09-12T15:25:55.483 回答
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);
    }
  });
});
于 2012-09-12T15:32:40.673 回答