2016-03-25 55 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個

任何想法 - 什麼混淆了我最多的就是.find找不到傳人.wpcf7-mail-sent-ok,並且它的後代之一。我有console.log();alert();

這是WordPress的插件,測試它?

+0

顯示你正在使用 – ymranx

+0

你能分享可執行演示標記或[的jsfiddle(https://開頭的jsfiddle .net /)? – Rayon

+0

「註冊」是表單的ID嗎? – trincot

回答

1

「聯繫表單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); 
});