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