我正在使用一个正方形空间表单,该表单使用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();
     });
};

10-05 20:59
查看更多