2012-04-17 5 views
2

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

このコード:

<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

[私のために働く](http://jsfiddle.net/gthtB/) – qwertymk

+0

DOMインスペクタはあなたのHTMLコードと同じものを表示しますか、または解析の問題があるかもしれませんか? – Bergi

+1

ボタン要素の代わりにを使用しようとしましたか?私は常にボタンの入力を使用することをお勧めします。ブラウザが異なる場合や時には予期しない動作をする場合があります。

答えて

3

利用<input type="button" />代わりの<button></button>それは予期しない動作を持っているとして(それもその内容を提出するフォームを送信するために、使用する場合は!)

+0

ありがとうございます。私はもともと

+2

@ trickyzterの答えのように、 '

4

ロングショット、多分ボタンの種類を指定するのに役立ちます。この場合、「=」ボタンを押します。

@ウィリアム:さまざまなブラウザにはさまざまな前提条件がありますが、安全対策としては明示的にするのが常に良いです。 ;)

関連する問題