这就是我得到的。
<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; ?>
,但效果不佳。
谢谢
答案 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");