2

ボタンonclickイベントを使用してwindow.locationを設定すると、2番目のパラメーター名の後に結果が切り捨てられます。

このコード:

<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エラーはなく、使用されているブラウザに関係なく発生します。

4

2 に答える 2

4

ロングショットですが、ボタンの種類を指定すると役立つ場合があります。この場合、type="button"です。

@William:ブラウザが異なれば前提条件も異なりますが、安全策として、明示的にすることをお勧めします。;)

于 2012-04-17T22:37:42.780 に答える
3

<input type="button" />予期しない動作が発生するため、代わりに使用<button></button>してください(フォームを送信するために使用すると、コンテンツも送信されます!)

于 2012-04-17T22:36:09.523 に答える