2012-05-03 12 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;