この検索ボックスに何かを入力すると、jquery がクエリを準備し、場所をリダイレクトします。クエリ部分の準備はうまくいきますが、リダイレクト部分にはエンコードされたクエリに問題があります。ページは、リダイレクトの前にエンコードされたクエリを自動的にデコードします。
検索ボックスに「test1 test2 test3」と入力すると、encodeURIComponent() でクエリが test1%20test2%20test3 にエンコードされます。
これで、ページは自分自身を result.php+query にリダイレクトします。ここでの私の問題は、result.php?q=test1%20test2%20test3 ではなく、result.php?q=test1 test2 test3 にページが移動することです。
ここにコードがあります
if($("#searchbox").val() != "")
{
var mq1 = encodeURIComponent($("#searchbox").val());
var query = "q="+mq1;
}
alert(query);
if(query!="")
location = "result.php?"+query;
アラートの結果は q=test1%20test2%20test3 ですが、 result.php?q=test1 test2 test3 になります
編集:リダイレクトコードでencodeURIComponent関数を使用すると、うまく機能します。
alert(query);
if(query!="")
location = "result.php?"+encodeURIComponentquery);
これらのコードは機能していますが、q= 部分もエンコードしています。