2013-04-29 129 views
0

我有一個問題的Javascript轉義字符串問題

我正在基於條件的定義onclick事件AA HREF

,這裏是我的腳本

 <script> 
      function comment_pop(id) 
     { 
      alert(id); 
      $('#login_ret_url').val('<?php echo base_url();?>idea/view_idea/'+id+'?action=comment'); 
      ShowModalPopup('div_login'); 
     } 
     </script> 


<div class="rate_image"> 
      <a href="<?php if(isset($_SESSION['logged_user'])) 
         echo base_url().'idea/view_idea/'.$row['idea_slug'].'?action=comment'; 
        else 
         echo 'javascript:void(0)';?>" 
       <?php if(!isset($_SESSION['logged_user'])) 
         echo "onclick='comment_pop(".$row['idea_slug'].");'";?>> 
      <?php echo $total_comment[$key][0]['total_cont'];?> 
      </a> 
     </div> 

問題升起線

echo "onclick='comment_pop(".$row['idea_slug'].");'";?>> 

我想用變量連接函數,以便我可以發送參數在JavaScript的功能,但它不工作

我的事情,我需要使用一些逃避的參數,但我真的壞在這個問題

任何人可以幫助我關於推動這一

感謝

+0

'$ row ['idea_slug']'是什麼?那麼在'onclick ='後源代碼會顯示什麼? – 2013-04-29 11:38:05

回答

1

試試這個

echo "onclick='comment_pop(\'".$row['idea_slug']."\')'";?>> 

或使其簡單(separeting PHP和HTML代碼)..

<?php 
     if(isset($_SESSION['logged_user'])){ 
      $hrefurl=base_url().'idea/view_idea/'.$row['idea_slug'].'?action=comment'; 
      $onclickurl= ""; 
     }else{ 
      $hrefurl = 'javascript:void(0)'; 
      $onclickurl= 'comment_pop("'.$row['idea_slug'].'");'; 
    ?> 
      <a href="<?php echo $hrefurl;?>" onclick="<?php echo $onclickurl; ?>" > 
      <?php echo $total_comment[$key][0]['total_cont'];?> 
     </a> 
+0

不,這不是有效的HTML – Bergi 2013-04-29 11:49:36

0

嘗試後 「的onclick =」,例如逸出單引號

\' 
0

您當前的代碼相呼應的idea_slug不帶引號,也就是說,它不會是一個JS字符串(但變量標識符,數字或東西):

…onclick='comment_pop(some_slug);'… 

你想包裝在報價大概:

echo "onclick='comment_pop(\"".$row['idea_slug']."\");'"; 

,讓你得到

…onclick='comment_pop("some_slug");'…