如何让Gravity Forms页面加载时自动提交且仅尝试一次?
解决页面加载时表单仅自动提交一次的问题
你遇到的问题是因为表单校验失败后页面未跳转,原代码可能被重复触发执行,导致反复提交。可以通过添加状态标记的方式,确保页面加载时仅执行一次提交操作,以下是两种可行方案:
方案一:使用全局变量标记
通过全局变量记录是否已经触发过提交,后续不再重复执行:
jQuery(document).ready(function(){ if (typeof window.formSubmitted === 'undefined') { window.formSubmitted = true; jQuery('form#gform_20').trigger('submit'); } });
方案二:使用表单元素的自定义数据标记
利用jQuery的data()方法给表单添加提交状态标记,更贴合元素本身:
jQuery(document).ready(function(){ var $targetForm = jQuery('form#gform_20'); // 检查表单是否已标记为提交过 if (!$targetForm.data('hasSubmitted')) { $targetForm.data('hasSubmitted', true); $targetForm.trigger('submit'); } });
两种方案的核心逻辑一致:通过一个状态标记,确保提交操作仅执行一次,无论表单提交成功还是失败,都不会再次触发自动提交。
内容的提问来源于stack exchange,提问作者user3766894
相关产品推荐
相关产品推荐

