2013-02-13 68 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

相关问题