2013-06-13 47 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`文件裏面的