Contact Form 7 - 在 JavaScript 中获取错误消息
Contact Form 7 - get error messages in JavaScript
我正在尝试将 CF7 验证错误消息传递给我的 JavaScript。这些...
当发送表单并存在错误时,我将如何:
- 防止消息以默认方式显示?
- 将适当的错误消息值传递给 JavaScript 这样我就可以用它们做我自己的事了?
您可以通过 php 轻松检索所有错误消息,并以您喜欢的方式将其传递给 js :
WPCF7_ContactForm::get_instance( $YOUR_FORM_ID )->get_properties()['messages'];
用法示例,如上面的回答所示。
function ttoc_scripts_method()
{
if (is_front_page())
wp_enqueue_script('ttoc-custom-script', get_stylesheet_directory_uri() . '/assets/js/custom_script.js', array('jquery'), 1.0, true);
wp_localize_script(
'ttoc-custom-script',
'ttoc_cf7',
array(
'messages' => json_encode(WPCF7_ContactForm::get_instance(123)->get_properties()['messages']),
)
);
}
add_action('wp_enqueue_scripts', 'ttoc_scripts_method');
在 JS(frontend) 中,您可以获得设置的消息,例如
let msg = JSON.parse(ttoc_cf7.messages).invalid_email;
我正在尝试将 CF7 验证错误消息传递给我的 JavaScript。这些...
当发送表单并存在错误时,我将如何:
- 防止消息以默认方式显示?
- 将适当的错误消息值传递给 JavaScript 这样我就可以用它们做我自己的事了?
您可以通过 php 轻松检索所有错误消息,并以您喜欢的方式将其传递给 js :
WPCF7_ContactForm::get_instance( $YOUR_FORM_ID )->get_properties()['messages'];
用法示例,如上面的回答所示。
function ttoc_scripts_method()
{
if (is_front_page())
wp_enqueue_script('ttoc-custom-script', get_stylesheet_directory_uri() . '/assets/js/custom_script.js', array('jquery'), 1.0, true);
wp_localize_script(
'ttoc-custom-script',
'ttoc_cf7',
array(
'messages' => json_encode(WPCF7_ContactForm::get_instance(123)->get_properties()['messages']),
)
);
}
add_action('wp_enqueue_scripts', 'ttoc_scripts_method');
在 JS(frontend) 中,您可以获得设置的消息,例如
let msg = JSON.parse(ttoc_cf7.messages).invalid_email;