2012-05-27 25 views
1
echo '<a onclick="load_tags('.$list['id'].')"></a>' 

list[id]是一個數字,它的工作原理。但是當list[id]是一個詞,它不起作用。爲什麼?JavaScript的onclick函數工作時參數是整數,但不是字符串?

下面是關於函數和我在做什麼的一些背景知識。儘管爲了回答這個問題沒有必要。

腳本

function load_tags(id){ 
     $.post('../php/tags/get_tags.php',{id:id},function(data){ 
      $('#tags_selected').text(data); 
     }); 
    } 

get_tags.php

$tag_id=$_POST['id']; 
    echo $tag_id; 
    $users_with_this_tag=show_all_users_with_this_tag($tag_id); 
    if(count($users_with_this_tag)!=0){ 
      foreach($users_with_this_tag as $key => $list){ 
       echo $list['user_id']; 
      } 
    }else{ 
     echo'Nobody with this tag'; 
    } 
+0

你有錯誤或沒有人使用此標籤嗎? – mgraph

+0

不,我得到Uncaught ReferenceError:運行未定義 – arboles

回答

4

剛好圍繞load_tags參數與轉義單引號:

echo '<a onclick="load_tags(\''.$list['id'].'\')"></a>'; 
1

字符串應該有他們周圍的報價:

echo '<a onclick="load_tags(\"'.$list['id'].'\")"></a>' 
+2

檢查雙引號。它會導致標記錯誤。 – VisioN

0

因爲它couses語法錯誤。 調用JS功能與詮釋:

function(123) 
{ 
.... 
} 

用繩子:

function('foo') 
{ 
.... 
} 

沒有它搜索下字符串變量的名稱(如果它是有效的變量名)。

相關問題