2013-02-13 96 views
0

我試圖通過確認框中單擊確定後通過URL刪除項目的id,但沒有任何反應。這確實在IE中有效,但我希望它也可以與Chrome一起使用。Window.location.href在谷歌瀏覽器中不起作用

<script> 
function dltCnfrm(id) 
{ 
    var r=confirm("Delete this product?") 
    if (r) 
    { 
     window.location.href = "http://localhost/e-com/index.php/product/delete_item/" + id; 
    } 
} 
</script> 

裏面的html代碼

foreach ($items as $res) { 
$id = $res['id']; 
. 
. 
<td><?php echo "<a href='' onclick='dltCnfrm($id)'>Delete</a>"; ?></td> 

我也嘗試了其他幾種方法,包括

location.assign(); 

將返回false;在if語句下面

有人可以使用Chrome瀏覽器嘗試此操作嗎? 的Chrome版本24.0.1312.57米

+1

其他事情正在發生 – Shanimal 2013-02-13 21:35:03

+0

同意@Shanimal - 其他事情正在發生。檢查你的JS控制檯是否有錯誤。 – ceejayoz 2013-02-13 21:36:37

+1

請嘗試:'Delete' – Ian 2013-02-13 21:50:34

回答

1

我打賭ID是一個字符串,所以你有一個錯誤

<td><?php echo "<a href='' onclick='dltCnfrm(\"$id\")'>Delete</a>"; ?></td> 

你可能要取消鏈接點擊也。

<td><?php echo "<a href='' onclick='dltCnfrm(\"$id\"); return false'>Delete</a>"; ?></td> 

但你應該永遠永遠永遠做一個GET請求刪除操作。 GET用於讀取數據,POST用於更新數據。

+0

謝謝,該解決方案的工作原理,但你可以向我解釋你的意思是「取消鏈接點擊」,順便說一下,我使用的郵件沒有得到。 – ethio 2013-02-13 22:25:52

+1

通過查看示例,他意味着停止默認的'onclick'行爲(在鏈接之後)並僅執行JS函數。在這裏看到更多http://stackoverflow.com/questions/1070760/javascript-function-in-href-vs-onclick#answer-11348403 – kodeart 2013-02-13 22:44:10

+0

POST在哪裏?設置window.location是一個GET請求。沒有表單發佈正在進行。 – epascarello 2013-02-14 00:40:29

相關問題