フォームの送信ボタンを押した際に、エラーがあった時に出るエラー文。
フォームを入力し直しても出たままなので、利用者が混乱してしまう場合があります。
クライアントよりフォームを修正したら非表示にできないか…と依頼があったためメモ。
JavaScriptに追記
JavaScriptで、フォームの入力フィールドに変更があった場合にdisplay: none
で非表示にし、送信ボタンを押したら表示に戻す、という動作を追加しました。
/**
*
* フォームのエラーメッセージをフォームに変更があった場合に消す
*
*/
document.addEventListener('DOMContentLoaded', function() {
var wpcf7Forms = document.querySelectorAll('.wpcf7-form');
wpcf7Forms.forEach(function(form) {
// フォームの入力フィールドに変更があったときのイベントリスナー
form.addEventListener('input', function() {
// wpcf7-response-output要素のスタイルをクリア
var responseOutput = form.querySelector('.wpcf7-response-output');
if (responseOutput) {
responseOutput.style.display = 'none';
}
});
// フォームが送信されるイベント(wpcf7submit)のリスナーを追加
form.addEventListener('wpcf7submit', function() {
// 送信後にwpcf7-response-output要素のスタイルをリセット
var responseOutput = form.querySelector('.wpcf7-response-output');
if (responseOutput) {
responseOutput.style.display = ''; // デフォルトの表示に戻す
}
});
});
});