2016-03-25 23 views
0

私の連絡フォームが正しく機能していません。間違ったデータを入力すると、すべて正常に動作しますが、データが正しい場合はinput fieldsが表示されません。私はそれらをマウスでクリックする必要があり、次に彼らは表示を開始します。入力フィールドが送信時に表示されない

これは私がこれまで試してみました何をされています

$('#submit_btn').click(function() { 
     if($('#register').find('.wpcf7-mail-sent-ok').length > 0){ 
      $('#name-152').val('Full Name').show('slow'); 
      $('#email-152').val('Email').show('slow'); 
      $('#phone-152').val('Phone Number').show('slow'); 
     } 
    }); 

をそのクラス.wpcf7-mail-sent-okに注意してくださいは、フォームが正しく提出し、満たされている場合のみ表示されます。お問い合わせフォーム7つの

任意のアイデア - 何最も私を混乱することは、私はconsole.log();alert();

これでそれをテストしている... .findは子孫.wpcf7-mail-sent-okを見つけることができないということであり、それは子孫の一つでは、Wordpressのプラグインですか?

+0

表示あなたが実行可能なデモを共有することができ – ymranx

+0

を使用しているマークアップや[JSFiddle](https://でjsfiddle .net /)? – Rayon

+0

フォームのIDは 'register'ですか? – trincot

答えて

1

"Contact Form 7"プラグインは、スタイルを操作し、標準フォームの送信動作をAJAXスタイルの送信で置き換えるなど、送信イベントに作用します。

ボタンのclickイベントの後、おそらくフォームのsubmitイベントの後で発生する可能性があるため、コードが早すぎます。これを回避するために

一つの方法は、setTimeoutであなたのコードの実行を遅らせることです。

$('#submit_btn').click(function() { 
    setTimeout(function() { 
     if ($('#register').find('.wpcf7-mail-sent-ok').length) { 
      $('#name-152').val('Full Name').show('slow'); 
      $('#email-152').val('Email').show('slow'); 
      $('#phone-152').val('Phone Number').show('slow'); 
     } 
    }, 100); 
});