从Button传递PHP变量到Javascript函数

时间:2012-01-25 16:46:51

标签: php javascript mysql

这就是我得到的。

<script type="text/javascript">
function show_confirm(id)
{
var r=confirm("Are you sure you want to duplicate this record?");
if (r==true)
  {
  window.open ("http://domain.com/process.php?duplicate=id","mywindow");
  }
else
  {
  alert("Record Not Duplicated.");
  }
}
</script>

然后低于:

$query = "SELECT * FROM contacts";
        $result = mysql_query($query);      

        while($row = mysql_fetch_row($result)){

                $id = $row[0];
                $company = $row[3];
                $firstName = $row[4];
                $protection = $row[20];

            echo '<tr>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $company . '</b></font></td>';
            echo '<td width="120" align="middle"><font color="black"><b>' . $firstName . '</b></font></td>';

            echo "<td width='120' align='middle'><a style='text-decoration: none;' href='http://domain.com/index.php?id=14&edit=" . $id . "'><span style='font-family:Helvetica; color:black;'>Edit</span></a>";
            echo "<td width='120' align='middle'><input type='button' onclick='show_confirm($id)' value='Duplicate' />";

            echo "</td>";               
            echo '</tr>';


        }
        ?>

问题在于:

echo "<td width='120' align='middle'><input type='button' onclick='show_confirm($id)' value='Duplicate' />";

这应该是一个按钮,当用户点击它时,它会显示"are you sure you want to duplicate?"然后如果用户点击是,则为http://domain.com/process.php?duplicate=(whatever the ID is)

问题是我的变量(在php中)$id,没有传递给javascript window.open。我需要行中的$id在javascript中传递。我试着写它,但它不起作用。甚至没有看到变量。我尝试手动输入<?php echo $id; ?>,但效果不佳。

谢谢

3 个答案:

答案 0 :(得分:1)

window.open ("http://domain.com/process.php?duplicate=id","mywindow");

网址为字符串"http://domain.com/process.php?duplicate=id"。您需要将变量连接到字符串。喜欢这个:

"http://domain.com/process.php?duplicate="+id

它应该是这样的:

window.open ("http://domain.com/process.php?duplicate="+id,"mywindow");

答案 1 :(得分:0)

要传递id,必须使用变量:

window.open ("http://domain.com/process.php?duplicate=" + id,"mywindow");

(你把它放在字符串中)

答案 2 :(得分:0)

您必须使用JavaScript中的字符串连接运算符(+)来执行正确的连接操作 如下所示,您只需将id变量附加到URL字符串即可。

window.open ("http://domain.com/process.php?duplicate="+ id ,"mywindow");