我试过了:
<?php include("delete.php") ?>
<?php
....
....
....
if($result=mysql_query($sql))
{
echo "<table><th>Id</th><th>Name</th><th>Description</th><th>Unit Price</th>";
while($row = mysql_fetch_array($result))
{
echo "<tr><td>".$row['Id']."</td><td>".$row['Name']."</td><td>".$row['Description']."</td><td>".$row['UnitPrice']."</td>
<td><a href='delproduct($row[Id])' onclick = 'return MsgOkCancel()'>Delete</a></td></tr>";
echo "<br/>";
}
}
?>
以下javascript在同一页面中:
<script type="text/javascript" language="javascript">
function MsgOkCancel() {
if (confirm("Are You Sure You Want to Delete?"))
{ return true }
else
{return false}
}
</script>
其中delproduct是delete.php中的javascript函数 写得像:
<script type="javascript">
function delproduct(Id)
{
alert('Id '+ Id);
}
<script>
** 后**单击删除okcancel消息框出现询问确认
** 但 **点击“确定”后,它应该执行 delproduct 功能中的语句,但它不会
它给出了如下错误:
找不到对象:在此服务器上找不到请求的URL。
会出现什么问题?
请帮忙,
感谢
答案 0 :(得分:3)
没有方案的URI(例如http:
)被视为相对URI。
您似乎正在寻找javascript:
(除了创建书签之外,不应该使用其他任何内容)。
你应该做的是:
onclick="if (MsgOkCancel()) { delproduct($row[Id]); return false; } else { return false; }"
但是,你应该在href中有something that works,但由于这似乎在服务器上做了重大改变,你应该使用POST而不是GET,所以链接是错误的工具。
你应该拥有的是:
<form action="/delete" method="post" onsubmit="return delete(this);">
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row[Id]); ?>">
<input type="submit" value="Delete">
</form>
结合:
function delete(form) {
if (confirm("Are You Sure You Want to Delete?")) {
delproduct(form.elements.id.value);
}
return false;
}
更好的是,摆脱onsubmit
属性并使用JavaScript分配事件。
答案 1 :(得分:0)
我认为你需要一个不同的设置。
首先,如果您要在href属性中调用javascript函数,则需要在javascript:
前加href="javascript:delproduct(...)"
。但不建议从href属性调用javascript。该属性适用于网址。
我建议您创建一个显示消息框的函数,并根据用户的操作调用delproduct函数。类似的东西:
function confirmDelProduct( id )
{
if( msgOkCancel() )
{
delproduct( id );
}
// return false is meant to stop the href url from being called
return false;
}
在你的HTML中:
<a href="#" onclick="return confirmDelProduct(' . $row[ 'id' ] . ')"> ... etc
答案 2 :(得分:-1)
这个怎么样: PHP:
<a href="javascript:void(0);" onclick=\"delproduct({$row[Id]})\">
JS:
function delproduct(Id){
if(MsgOkCancel()) alert('Id '+ Id);
}