2013-03-08 79 views
1

我通過onclick事件發送數據,但無法獲取字符串值我只是獲取整數值,它說'值'未定義。問題是什麼。未定義jQuery字符串

我的代碼是:

<a href="javascript:void(0)" 
    onclick="begin(<?php echo $data['user_id'];?>, 
    <?php echo $data['name'];?>);">  

這是我的函數:

function begin(id,name) 
{ 
    alert(id); 
    alert(name); 
} 

我沒有得到name的值,如果我通過硬編碼字符串,那麼它也不僅整數及彼都可以訪問。

+0

你的問題與'jQuery'無關。請改變你的問題的標題! – PCoder 2013-03-08 19:24:40

+0

是的,它不是,但首先我認爲它與jquery有關,現在問題得到解決,我知道它是不相關的。 – 2013-03-08 19:26:40

回答

2

正如馬特所說,沒有引號就不會被認出。

這就是說,我不認爲他的回答是正確的。我寧願這樣的代碼:(空白增加了可讀性)

<a href="javascript:void(0);" onclick="begin(
    <?php echo htmlspecialchars(json_encode($data['user_id'])); ?>, 
    <?php echo htmlspecialchars(json_encode($data['name'])); ?> 
);"> 

json_encode (docs)好傳遞任意PHP變量(除了參考資料)轉換爲JavaScript。在這種情況下,它會在字符串周圍添加引號,並根據需要使用反斜槓來轉義字符。由於它屬於某個屬性,因此需要將htmlspecialchars轉換爲可安全插入的符號。

+0

üright Kolink ... – 2013-03-08 19:36:45

3

你需要用引號將你的參數包裝成一個字符串。

<a href="javascript:void(0)" onclick="begin('<?php echo $data['user_id'];?>','<?php echo $data['name'];?>');"> 
+0

ohh是這是我失蹤的地方 – 2013-03-08 19:21:34

+0

謝謝MattDiamant .. – 2013-03-08 19:22:04

+0

不客氣!繼續並單擊複選標記以將問題標記爲已解決。謝謝! – MattDiamant 2013-03-08 19:23:40