2017-09-06 10 views
-2

私は私がフォームを送信すると、私は以下のURL

Firefox: www.domain.com/page.php?checkbox[]=1&checkbox[]=2&checkbox[]=3 
Chrome: www.domain.com/page.php?checkbox%5B%5D=1&checkbox%5B%5D=2&checkbox%5B%5D=3 

を取得し、今checkboxes

<form action="" method="get"> 
    <input type='checkbox' value='1' name='checkbox[]' value='1'> 
    <input type='checkbox' value='2' name='checkbox[]' value='2'> 
    <input type='checkbox' value='3' name='checkbox[]' value='3'> 
    <button type='submit' name='submit'>Submit</button> 
</form> 

で、通常のフォームを使用してGET Requestを送信しようとしています両方のURLはSEOと使いやすさには良いようではありません。私は

www.domain.com/page.php?checkbox=1,2,3 
+0

「.htaccess」を介したかなりのURL。 – Script47

+1

あなたのHTMLは 'id'プロパティが完全にレンダリングされる同じ値を持つ複数の' id'プロパティを持っているので無効です。 – Script47

+3

あなたは(JavaScript経由の傍受から離れて)できません。これがフォームの機能と定義方法です。デフォルトと意図した選択肢との意味の違いはほとんどありません。 "SEO" BSを無視してください。検索エンジンはフォームを認識していますが、ランダムに自分自身を送信しようとはしません。 – mario

答えて

0

のようなきれいでシンプルな何かのjQuery/JavaScriptにURLをオンにするにはどうすればよい

はポストをAJAX。

多かれ少なかれ直感的であると仮定して、JSの一部を残してください。

$(document).on('submit','.form-class',function(e){ 
e.preventDefault();//stops all posts... 
var checkboxes = $(this).find('input[name="checkbox"]'); 
if(checkboxes.length > 0) 
{ 
    $.each(checkboxes,function(){ 
    //Loop through each to add to a string or array and concat with "," or explode and implode it with commas. 
//Than do an ajax get/post to a url with query param of your choosing. 
    }); 
} 
});