window.location使用按钮onclick截断URL

时间:2012-04-17 21:58:43

标签: javascript html button onclick window.location

使用按钮onclick事件设置window.location时,结果将在第二个参数名称后被截断。

此代码:

<button onclick="window.location='index.php?p=reports_manage&id=new'">create new report - button</button>

将用户发送到此页面:

https://foo.com/index.php?p=reports_manage&id=

即使我在最后添加了额外的参数,它仍会在同一个地方被切断。

所有这些都可以正常工作:

<a href="index.php?p=reports_manage&id=new">create new report - link</a>
<a href="javascript:window.location='index.php?p=reports_manage&id=new'">create new report - JS1</a>
<a href="javascript:void(0);" onclick="window.location='index.php?p=reports_manage&id=new'">create new report - JS2</a>

知道可能导致这种情况的原因是什么?据我所知,按钮在早些时候工作正常,并且没有对此代码进行任何更改。还有什么可能影响这个?页面上没有javascript错误,无论使用什么浏览器都会发生错误。

2 个答案:

答案 0 :(得分:4)

远射,但可能指定按钮类型会有所帮助。在这种情况下,键入=“button”。

@William:不同的浏览器有不同的先决条件,但作为一种保障,明确表示总是好的。 ;)

答案 1 :(得分:3)

使用<input type="button" />代替<button></button>,因为它有意外行为(如果用于提交表单,它甚至会提交其内容!)