我正在使用一个正方形空间表单,该表单使用jQuery来显示/隐藏某些字段以允许使用show()自定义表单;和hide();
$(".option2 select").hide();
问题在于这不会将它们从DOM中删除,因此任何隐藏字段仍会在Squarespace电子邮件中提交。
$(".option2 select").remove();
这是唯一可以成功从DOM中删除选择并阻止其包含在表单提交中的函数,但是由于它是不可逆的,因此会破坏表单。
有没有办法使用remove();在某些元素上,就像在实际提交表单之前按下“提交”按钮以将其从DOM中永久删除一样?
编辑:我应该澄清一下,由于这是在Squarespace中完成的,因此使用onSubmit是很棘手的,因为已经发生了其他事情。我正在寻找一种仅涉及jQuery的解决方案,该解决方案不涉及以任何方式编辑表单的任何HTML。
最佳答案
首先,您可以执行以下操作阻止默认操作提交
然后删除所需的字段。
然后提交您的表格。
$(document).ready(function(){
$('#id_of_form').submit(function(e){
e.preventDefault();
$('.the_option_i_want_to_remove').remove();
// if you want to submit your form after removing your fields
$(this).submit();
});
};