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

1

尝试这个

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>
于 2013-04-29T11:38:23.253 回答
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 回答