Php 确认/重定向功能不工作-javascript

Php 确认/重定向功能不工作-javascript,php,javascript,html,Php,Javascript,Html,在这里,我使用JavaScript删除了一名员工 <script type="text/javascript"> function delet(emp) { var answer = confirm('Are you sure?'); if(answer) { window.location='delete.php?emp='+emp; } } </script> 通过使用锚定标记,我调用javascript的函数 <

在这里,我使用JavaScript删除了一名员工

<script type="text/javascript">
function delet(emp)
{
    var answer = confirm('Are you sure?');
    if(answer)
    {
        window.location='delete.php?emp='+emp;
    }
}
</script>
通过使用锚定标记,我调用javascript的函数

<a onclick="javascript:delet('<? echo $_GET['emp']; ?>')">
<input type="button" name="delete" id="delete" style="background: url('images/del1.jpg')no-repeat;width:50px;height:50px" value=""/></a>           
但我的问题是,它一直工作到显示警报消息,但在回答警报消息后,它并没有重定向到我给出的页面delete.php?emp=+emp

,因为你在一个不去谷歌的地方嵌套了一个

<a href="http://google.com/"><input type="Submit"/></a>
我所描述的行为不是通用的hello Opera(除非存在元素),因此

<form action="jail.php">
    <a href="go.php" onclick="window.location='?collect=£200';">
        <input type="submit"/>
    </a>
</form>
将直接把你送进监狱,而无需通过go或在所有浏览器上收取200英镑

此外,这只适用于页面重定向;其他脚本可能会在页面更改之前触发,最容易观察到的是console.log、alert等。

因为你在一个不去谷歌的地方嵌套了一个脚本

<a href="http://google.com/"><input type="Submit"/></a>
我所描述的行为不是通用的hello Opera(除非存在元素),因此

<form action="jail.php">
    <a href="go.php" onclick="window.location='?collect=£200';">
        <input type="submit"/>
    </a>
</form>
将直接把你送进监狱,而无需通过go或在所有浏览器上收取200英镑


此外,这只适用于页面重定向;其他脚本可能在页面更改之前触发,最容易观察到的是console.log、alert等。

单击该按钮可以提交一些表单。该提交过程将否决window.location导航请求。一个快速解决方法是防止:

<a onclick="event.preventDefault(); delet('<? echo $_GET['emp']; ?>');">
// cross-browser-safe:
<a onclick="delet('<? echo $_GET['emp']; ?>'); return false">
但实际上,使用嵌套按钮的标记非常奇怪。你根本不需要那个链接,只要使用

<form action="delete.php" onsubmit="return confirm('Are you sure');">
    <input type="hidden" name="emp" value="<? echo $_GET['emp']; ?>" />
    <input type="submit" name="delete" id="delete" style="background: url('images/del1.jpg')no-repeat;width:50px;height:50px" value="" />
</form>

单击该按钮,您正在提交一些表单。该提交过程将否决window.location导航请求。一个快速解决方法是防止:

<a onclick="event.preventDefault(); delet('<? echo $_GET['emp']; ?>');">
// cross-browser-safe:
<a onclick="delet('<? echo $_GET['emp']; ?>'); return false">
但实际上,使用嵌套按钮的标记非常奇怪。你根本不需要那个链接,只要使用

<form action="delete.php" onsubmit="return confirm('Are you sure');">
    <input type="hidden" name="emp" value="<? echo $_GET['emp']; ?>" />
    <input type="submit" name="delete" id="delete" style="background: url('images/del1.jpg')no-repeat;width:50px;height:50px" value="" />
</form>

是的,但它不起作用了……它还能做什么,什么都没有?为什么你在那个链接里面有一个提交按钮?现在我编辑了它,但它不起作用@Bergi@What他现在不工作了?我觉得不错。是的,但它不起作用……它还能做什么,什么都没有?为什么你在那个链接里面有一个提交按钮?现在我编辑了它,但它不起作用@Bergi@What他现在不工作了?我觉得不错。这是他所遇到问题的一个很好的例证,而不是直接的答案+至少Opera是谷歌的。它需要一个,将通向维基百科。@Bergi我在Chrome和FireFox中测试过,喜欢假装IE是个噩梦,然后你告诉我Opera有时比其他两个更接近它?噩梦!无论如何,答案更新了。@Paul是的,Opera确实模仿了IE的一些奇怪的bug功能,以便与旧网站兼容。不过,它遵循标准,当你将输入放入表单中,使其成为一个有效的页面时,它的工作原理就像FF的Chrome一样。很好地说明了他遇到的问题,而不是直接回答+至少Opera是谷歌的。它需要一个,将通向维基百科。@Bergi我在Chrome和FireFox中测试过,喜欢假装IE是个噩梦,然后你告诉我Opera有时比其他两个更接近它?噩梦!无论如何,答案更新了。@Paul是的,Opera确实模仿了IE的一些奇怪的bug功能,以便与旧网站兼容。但它遵循标准,当您将输入放入表单中,使其成为有效页面时,它的工作原理与FF的Chrome一样。