想在javascript函数中传递php变量作为参数吗?

时间:2010-10-29 08:30:39

标签: php javascript


我想在一个javascript函数中传递我的php变量 我知道这似乎很简单,但我不知道我在哪里错过了什么?

    <?php
        while($gg=mysql_fetch_array($lg))
        {
    ?>
        <td id="add_td">
        <?php
        $id = $gg['p_id'];
        echo "<a onclick=cnf('Are you sure you want to delete that?',$id)>"; ?>Delete</a>
        </td>
<?php
        }
?>

和我的javascript函数

function cnf(msg,id)
{

     cnf = confirm(msg);
     if(cnf) { 
            parent.location.href = 'p_update.php?d=' + id;          
     }
}

所以我需要知道用户点击了哪个ID,这样我才会从数据库中删除该ID 如果我尝试这个东西然后它在“cnf”函数上显示错误,它的说法像“未终止的字符串文字”?

6 个答案:

答案 0 :(得分:2)

if $id is not numeric you should write 

<?php
        while($gg=mysql_fetch_array($lg))
        {
    ?>
        <td id="add_td">
        <?php
        $id = $gg['p_id'];
        echo "<a onclick=cnf('Are you sure you want to delete that?','".$id."')>"; ?>Delete</a>
        </td>
<?php
        }
?>

答案 1 :(得分:1)

检查语法

<?php
    while($gg=mysql_fetch_array($lg))
    {
?>
        <td id="add_td">
        <?php
        $id = $gg['p_id'];
        ?>
        <a onclick="cnf('Are you sure you want to delete that?',<?=$id?>);">Delete</a>
        </td>
<?php
     }
?>

答案 2 :(得分:1)

我会这样做。如果你想要“手”指针,HREF是必需的 标签上也必须使用唯一ID,如果您在功能中传递ID而不是我建议的内容,则需要引用ID,并为链接指定ID

function cnf(link,id) {
  if (confirm("Are you sure you want to delete "+id) {
    link.href = "p_update.php?d=" + id;          
    return true;
  }
  return false;
}

<?php
  while($gg=mysql_fetch_array($lg)) { 
    $id = $gg['p_id'];
?>
  <td id="add_td<?php echo $id; ?>"><a target="_parent" href="#" id="<?php echo $id; ?>" onclick="return cnf(this)">Delete</a></td>
<?php } ?>

答案 3 :(得分:1)

foreach($mas as $k=>$v) {
  //echo $k.' = '.$v.'<br>';
  echo("

    <input type=\"button\" id=\"delete_id".$k."\" value=\"Blablabla\" onclick=\"alert('".$v."');\"/>

  ");
}

如果我放在那里$ k(索引)它可以工作,但如果字符串(值是字符串),我得到一个错误

  

未终止的字符串文字

在HTML标签中,这可以工作,但不能作为函数参数!

答案 4 :(得分:1)

在php变量'$ id'周围使用引号。

echo "<a onclick=cnf('Are you sure you want to delete that?','$id')>";

另一个例子, $p是一些php变量,

echo "<input type=button value='update' onclick=myfunc('$p')>"

答案 5 :(得分:0)

如果$ id是一个字符串文字,当你把它作为参数传递给&lt; a ...&gt;中的cnf()函数时,你应该把它放到引号中。标记:

echo "<a onclick=cnf('Are you sure you want to delete that?', '$id')>";