javascript - 联系表格 7 AJAX 回调

标签 javascript jquery ajax wordpress contact-form-7

我已经为此搜索了一段时间,但无法提供任何文档来概述我想要实现的目标。

我正在使用 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/

相关文章:

javascript - 理解 Javascript 范围问题

jQuery replaceWith,追加,前置不起作用

ajax - 如何将数据作为表单数据而不是请求负载发布?

javascript - rails - 在页面重新加载之前不显示 flash 消息?

javascript - Comboboxes onsubmit 更改给出结果但刷新 javascript 设置

javascript - 如何将事件对象传递给对象内的函数

javascript - Js/jQuery 包含函数在 IE 中不起作用

javascript - jquery检测div滚动

Jquery AJAX 在 IE9 中不工作

javascript - 如何使用字符串连接创建正则表达式