/**
* Disable WPCF7 button while it's submitting
* Stops duplicate enquiries coming through
*/
document.addEventListener( 'wpcf7submit', function( event ) {
// find only disbaled submit buttons
var button = $('.wpcf7-submit[disabled]');
// grab the old value
var old_value = button.attr('data-value');
// enable the button
button.prop('disabled', false);
// put the old value back in
button.val(old_value);
}, false );
$('form.wpcf7-form').on('submit',function() {
var form = $(this);
var button = form.find('input[type=submit]');
var current_val = button.val();
// store the current value so we can reset it later
button.attr('data-value', current_val);
// disable the button
button.prop("disabled", true);
// tell the user what's happening
button.val("Sending, please wait...");
});
3条答案
按热度按时间m3eecexj1#
请使用此代码禁用提交按钮。
我们知道
contact form 7
插件在提交后会返回各种响应。这适用于邮件已发送事件:
see all events of contact form 7
status
在表单提交后返回validation_failed
、mail_sent
等响应。c9qzyr3d2#
以上答案对我不起作用,可能与CF7的最新版本冲突。
无论如何,我已经更新了上面的代码,使它与最新版本的工作。
我还改进了代码,使它可以处理网站上的任何表单,而不管提交按钮上写的是什么。
它禁用提交按钮,更改值以要求用户耐心等待,然后在表单完成提交时,恢复原始提交值。
whlutmcx3#
你可以用这个代替。这个代码将帮助你禁用提交按钮,直到发送成功的电子邮件。你可以停止多次提交此代码。