0

条件に基づいて 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 関数にパラメーターを送信できるように、関数を変数と連結しようとしていますが、機能していません。

いくつかのエスケープパラメーターを使用する必要があると思いますが、これは本当に初めてです。

4

3 に答える 3

0

"onclick=" の後の単一引用符をエスケープしてみてください。

\'
于 2013-04-29T11:44:51.130 に答える
0

現在のコードは、引用符なしで idea_slug をエコーし​​ます。つまり、JS 文字列ではありません (ただし、変数識別子、数値など):

…onclick='comment_pop(some_slug);'…

おそらく引用符で囲みます:

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

あなたが得るように

…onclick='comment_pop("some_slug");'…
于 2013-04-29T11:51:37.247 に答える