我已经为此搜索了一段时间,但无法提供任何文档来概述我想要实现的目标。
我正在使用 wordpress 和 Contact Form 7 插件,一切正常,我想要实现的是在提交表单时运行一些特定的 javascript,我知道我们可以在附加设置中使用“on_sent_ok:”,但是这仅在实际提交表单时执行。
我想做的是在表单未正常提交时执行其他一些 javascript,这会使用户返回到未验证的部分。
我可以使用以下代码在单击表单提交 1.7 秒后运行,但是它有点草率,好像用户正在使用慢速连接运行,有可能在正确提交表单之前运行。
$('.wpcf7-submit').click(function() {
setTimeout(function() {
if ($('.fs1 input,.fs1 textarea').hasClass('wpcf7-not-valid')) {
$('.pop-up-form').removeClass('pustep2').removeClass('pu-closing');
$('.form-step').hide();
$('.fs1').show();
}
if ($('.fs2 *').hasClass('wpcf7-not-valid')) {
alert('error on page 2 - take user back to the area with issues')
}
}, 1700);
});
当 AJAX 表单完成时,我可以使用任何特定的函数或 Hook 来运行 JS 吗?
谢谢!
最佳答案
在 3.3 版中引入了新的 jQuery 自定义事件触发器:
New: Introduce 5 new jQuery custom event triggers
- wpcf7:无效
- wpcf7:垃圾邮件
- wpcf7:邮件发送
- wpcf7:邮件失败
- wpcf7:提交
您可以像下面的示例一样使用wpcf7:invalid
:
$(".wpcf7").on('wpcf7:invalid', function(event){
// Your code here
});
关于javascript - 联系表格 7 AJAX 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27798264/