2012-05-03 13 views
0

我需要使用登錄人員的電子郵件地址填充字段。由於此應用程序由不同的客戶端使用,因此我想根據需要將代碼添加到外部JavaScript代碼。我一直在與json合作,但現在我想知道這是否是答案。將使用json工作預填充php字段?

在我的PHP代碼,我有這樣的:

<?php 
$myemail = $this->session->userdata('USER_EMAIL'); 
//echo $myemail; 

下一個我有這樣的:

var $jsonEmail = trim(json_encode($myemail)); 

然後在我的js自定義頁面我有這樣的:

var jsonObj = $jsonEmail; 
document.getElementById("email-12").innerHTML=jsonObj.value; 

它不工作,但由於我是新手,我不知道我做錯了什麼。任何幫助,將不勝感激。

+0

爲什麼使用JSON,如果它是一個字符串? – JotaBe

回答

0

你在混合PHP和JavaScript,這是行不通的。你的PHP應該是這樣的:

$jsonEmail = trim(json_encode($myemail)); // Get rid of 'var' 

你的JavaScript應該是這樣的:

var jsonObj = <?php echo $jsonEmail; ?> 
+0

但我可以添加php代碼/標籤在我的javascript外部頁面 – user1176783

0

你可以做這樣的事情,這將是骯髒的,但我認爲會工作。

var jsonObj = <?php echo $jsonEmail ?>; 
document.getElementById("email-12").innerHTML=jsonObj.value; 

您不能將服務器端PHP與localside Javascript混合使用。 PHP將文本寫入SDIO,瀏覽器將其解釋爲諸如JS代碼或HTML之類的東西。

+0

我收到意想不到的令牌非法,當我嘗試這些和問題是我想把json/javascript放入一個單獨的js頁面,這是特定於客戶端,而不是代碼的主體。那有意義嗎? – user1176783

0

您需要將您的$jsonEmail變量呼應你的JavaScript,如:

var jsonObj = <?php echo $jsonEmail; ?> 
document.getElementById("email-12").innerHTML=jsonObj.value;