当我通过jQuery提交表单时,如下所示:jQuery('#myForm').submit()
;
我不想在该表单中的指定div中发送一些信息(我的意思是所有输入字段,选择元素,textarea元素等都不允许发送到服务器),但我不知道要防止该div提交所有者表格。
你能帮帮我吗?非常感谢你。
谢谢大家的快速回复。我试图将“div”中的所有输入字段的“disabled”属性设置为false,但是当我在服务器上再次检查它时,仍然提交了其他一些字段(例如select,textarea)。我想我也应该禁用它们。有没有办法删除或“隐藏/禁用”整个div而不禁用每种输入元素?
答案 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);
}
});
});