簡體   English   中英

確認/重定向功能不起作用-JavaScript

[英]Confirm/redirect functionality not working - 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>內嵌套<input type="Submit"/> ,所以單擊按鈕與單擊<a>並不相同,而是無處“提交”(閱讀您已經在頁面上上,刷新頁面),然后<a>可以完成它。

一個簡單的演示 ,您無需使用Google。

<a href="http://google.com/"><input type="Submit"/></a>

BERGI已經指出 ,我描述的行為不是普遍的 (你好歌劇 ,IE),除非<form>元素存在 ,因此例如以下

<form action="jail.php">
    <a href="go.php" onclick="window.location='?collect=£200';">
        <input type="submit"/>
    </a>
</form>

會直接送你到監獄不經過還是在所有瀏覽器收集£200。

此外,這僅真正適用於頁面重定向。 其他腳本可能在頁面更改之前啟動,最容易觀察到的是console.logalert等。

您正在通過單擊該按鈕提交某種形式。 該提交過程將否決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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM