2013-06-13 40 views
0

我试图显示GET变量数据在textarea。我在StackOverflow中尝试了可能的解决方案,但都没有工作。我不知道为什么。你能告诉我,如果我错过了什么。jQuery显示php GET变量值在文本区动态

我的故事

我有一个页面上的链接和href/index.php?page=contact-us&performance=Lamborghini

,并带我到联系我们页面和URL仍/index.php?page=contact-us&performance=Lamborghini这就是我想要的。

所以,林tyring抢performance变量的内容是兰博基尼,并在textarea

<textarea name="m62b34fbrp__32" cols="19" rows="7" class="cms_textarea" id="fbrp__32"></textarea> 

我做那么,什么是添加<?php $performanceInfo= $_GET['performance']; ?>我网页的顶部打印。然后在我的script.js文件中添加$("#fbrp__32").val(<?php echo $performanceInfo; ?>);。但它从来不会在textarea中打印兰博基尼。

当我尝试$("#fbrp__32").val('<?php echo $performanceInfo; ?>');(请注意'标记),它会在textarea中打印<?php echo $performanceInfo; ?>

当我I <?php echo $_GET["performance"]; ?>它打印兰博基尼罚款。

你们能告诉我为什么它不适合我吗?

注意:我无法手动编辑textarea,因为它是使用plugin生成的。非常感谢。

+0

? – Jashwant

+0

你是什么意思? – user1889007

+0

你只有一个.php文件,或者你也有.js文件吗? –

回答

-1

试试这个

var value = <?php $performanceInfo= $_GET['performance']; ?> 
    $("#fbrp__32").val(value); 

注:在js文件

+0

我也试过'.html',但没有工作:S – user1889007

+0

@ user1889007试试这个。它将工作,如果代码是在一个HTML文件。希望你没有使用js文件 – Afsal

+0

什么都没有打印..:/ – user1889007

0

php标记不会不会呈现试试这个

<textarea name="m62b34fbrp__32" cols="19" rows="7" class="cms_textarea" id="fbrp__32"> 

<?php echo $_REQUEST['performance']; ?></textarea> 

或JS

$(document).ready(function(){ 
var performance='<?php echo $_REQUEST["performance"]; ?>'; 
$("#fbrp__32").val(performance); 
}); 
+0

JS解决方案打印'<?php echo $ _REQUEST [“performance”]; '',我不能编辑textarea把'<?php echo $ _REQUEST ['performance']; ?>'在里面。 :( – user1889007

+0

这个链接怎么样http://stackoverflow.com/questions/4656843/jquery-get-querystring-from-url –

+0

永远不会注入unsanitized,未转义的数据到页面! – Quentin

1

PHP解析会不解析.js文件,则需要在.js文件之外执行此操作。如果没有,您需要在您的web服务器配置文件集中将.js文件解析为PHP文件。

编辑

您提到您添加<?php $performanceInfo= $_GET['performance']; ?>到页面的顶部,然后$("#fbrp__32").val(<?php echo $performanceInfo; ?>);script.js文件。这不会按照默认配置script.js或任何.js文件不会被PHP解析器解释。所以您的陈述$("#fbrp__32").val(<?php echo $performanceInfo; ?>);将导致语法错误。

在不改变服务器配置的情况下处理它的最好方法是在页面顶部执行此操作。

<script type='text/javascript'> 
    var performance = "<?php echo $_GET['performance']; ?>"; 
    </script> 

,并在您script.js文件做$("#fbrp__32").val(performance);

+1

@ francisco.preller再次阅读,他说'然后在我的script.js文件中添加了$(“#fbrp__32”).val(<?php echo $ performanceInfo;?>);但它从不在打印文本区中打印兰博基尼。' – DevZer0

+0

是的,我确实重新读过,我怀疑你是正确的,OP是使用两个文件。我的歉意!:) –

+0

@ DevZer0对不起,请你澄清我要做什么?我正在寻找这个答案(http://stackoverflow.com/a/5895840/1889007),它说你可以给'js'分配一个'php'值?我很困惑 – user1889007

0

textarea的前只需添加下面的权利(在你的PHP/HTML文件,而不是JS-文件!):

var performance = <?php echo '"' . htmlspecialchars($_GET['performance']) . '"'; ?> 
$("#fbrp__32").val(performance); 
+0

切勿将未经过处理的未转义的数据注入页面! – Quentin

+0

是的,你是对的。也许我应该补充说。 – sebastian

0

刚直接使用PHP设置值

<?php 
$performanceInfo= $_GET['performance']; 
?> 

jquery有点棘手。反而尝试简单ja vascript设定值:

document.getElementById("Enter Here Textarea Id").value = <?PHP echo $_GET['performance']; ?> 
+0

不,我不能编辑通过插件生成的textarea – user1889007

+0

您是否导入了使用JQuery的JQuery库(.js文件)? – user2360906

0

好的。最后,这是为我工作的解决方案。

在PHP文件,我把

<?php 

$performanceInfo= $_GET['performance']; 
echo "<script>"; 
echo "$('#fbrp__32').val('$performanceInfo');"; 
echo "</script>"; 

?> 

其怪异的其他解决方案没有工作对我来说somereason。 'js`或`php`文件里面的