使用按钮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错误,无论使用什么浏览器都会发生错误。
答案 0 :(得分:4)
远射,但可能指定按钮类型会有所帮助。在这种情况下,键入=“button”。
@William:不同的浏览器有不同的先决条件,但作为一种保障,明确表示总是好的。 ;)
答案 1 :(得分:3)
使用<input type="button" />
代替<button></button>
,因为它有意外行为(如果用于提交表单,它甚至会提交其内容!)