簡體   English   中英

JavaScript轉義字符串問題

[英]JavaScript escape string issue

我正在根據條件將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函數,但是它不起作用。

我認為我需要使用一些轉義參數,但我對此確實很陌生。

嘗試這個

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

或使其簡單(分離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>

嘗試轉義“ onclick =“之后的單引號,例如

\'

您當前的代碼回顯了沒有引號的idea_slug,即它不是JS字符串(而是變量標識符,數字或其他內容):

…onclick='comment_pop(some_slug);'…

您可能想將其用引號引起來:

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

這樣你就可以

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM