問題があります。私は自分のウェブサイトから直接外部の検索エンジンを使用しようとしますが、JavaScriptは自動的にURLを変更するようですが、理由はわかりません。ここでJavaScript経由でURLを開くと、結果の代わりに?results = aaaにリダイレクトされますか?q = aaa
は私のJavaScriptコードです:
var form = document.querySelector('#my-form'),
text_field = document.querySelector('#results');
function submitHandler(){
window.open('https://myurl.com/results?q=' + text_field.value);
win.focus();
}
// attach custom submit handler
form.onsubmit = submitHandler;
そして、ここでは私のhtmlフォームのコードです:
<form method="get" id="my-form">
<input type="text" name="results" id="results" value="" placeholder="Search...">
</form>
このコードは https://myurl.com/?results=aaa
代わりのhttps://myurl.com/results?q=aaa
にリダイレクトされるのはなぜ?
は、ルーティングとサーバー側の問題ではなく、クライアント側の問題のように聞こえます。また、新しいウィンドウで変数 'win'を使って作業する場合は、' var win = window.open(...) 'を宣言してそれを割り当てる必要があります。最後に、現在のウィンドウやフォームのリダイレクトページがフォーカスを取得していない限り、最初に 'win.focus()'は必要ありません。 –
投稿コードが想定どおりに機能し、問題を再現することができないため、この質問を議論の対象外とする投票。ほとんどのOPは、何らかの種類のサーバー側リダイレクトを経験しています。 –
説明のためにスコットありがとうございました。本当に便利です! – mrblue