2011-08-09 236 views
0

我想用wordpress用戶詳細信息自動填寫表單(目前使用聯繫表單7)。Wordpress表單自動填充

這是當前的代碼:

<script type="text/javascript"> 
<?php 
    if (is_user_logged_in()){ 
     global $current_user; 
     get_currentuserinfo(); ?> 
     document.getElementByName("your-name").value = "<?php $current_user->user_email ?>"; 
     <?php 
    } ?> 
</script> 

我使用接觸形式7插件所以它通過短代碼調用。

這段代碼似乎沒有發生什麼,但我已經得到它迴應我的用戶電子郵件,所以我不認爲它與提取數據的問題。如果我不得不下注,那填寫數據就會出現問題。

我已經看到一些自動填充插件的聯繫表單7,但我也想用其他形式(特別是重力形式)做到這一點,所以我需要一個通用的解決方案。

任何幫助非常感謝,謝謝。

回答

1

首先確保您的聯繫表格有HTML,如<input name='your-name' ...>然後嘗試並將您的代碼放入window.onload事件中。您的JavaScript可能在頁面完成加載之前運行,包括您的聯繫表單。

事情是這樣的:

<script type="text/javascript"> 
window.onload = function() { 
    document.getElementsByName("your-name")[0].value = "<?php $current_user->user_email ?>"; 
} 
</script> 

編輯:固定按下面的評論

+0

感謝您的回答,但這不起作用。我還確保由聯繫表單7生成的輸入字段具有名稱值「your-name」。 –

+0

你使用什麼瀏覽器?如果Firefox或Chrome,然後使用Firebug或內置的Javascript控制檯,並鍵入這個'document.getElementByName(「your-name」)。value =「abc」;'如果這不起作用,然後嘗試和爲您的標籤設置一個ID。像''。現在做'document.getElementById(「your-name」)。value =「abc」;'。如果這些都不起作用,那麼你將不得不張貼更多的頁面代碼來查看發生了什麼。 – arunkumar

+0

我在Chrome上使用了控制檯,它似乎沒有工作。不過,當我輸入getElementById(「theId」)。value =「abc」;.事實上,getElementByName甚至不是一個函數,因爲我執行的唯一搜索提出了getElementsByName(注意「s」),該函數似乎只返回值,不讓我改變它。我想現在我的問題是我如何可以訪問表單的名稱屬性? –