繁体   English   中英

与PHP一起使用href(html)标记

[英]using a href (html)tag along with PHP

我努力了:

<?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。

有什么问题吗?

请帮助,

谢谢

没有方案的URI(例如http:被视为相对URI。

您似乎正在寻找javascript:除创建书签外,请勿将其用于其他任何用途)。

您应该做的事情大致如下:

onclick="if (MsgOkCancel()) { delproduct($row[Id]); return false; } else {  return false; }"

但是,您应该有一些可以在href 中起作用的东西 ,但是由于这似乎对服务器进行了重大更改,因此您应该使用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分配事件。

我认为您需要其他设置。

首先,如果要在href属性中调用javascript函数,则需要在其前面加上javascript:如so href="javascript:delproduct(...)" 但是不建议从href属性调用javascript。 该属性用于URL。

我建议您创建一个显示消息框的函数,并根据用户的操作调用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

那这个呢:PHP:

<a href="javascript:void(0);" onclick=\"delproduct({$row[Id]})\">

JS:

function delproduct(Id){
    if(MsgOkCancel()) alert('Id '+ Id);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM