1

ボックスとボタンのある簡単な検索フォームがあります。

<form action = "/search/" method = "get">
<input id = "search_box" type ="text" name = "location" value placeholder = "Where are you?" />
<input id = "search_button" type="submit" value = 'Go' />
</form>

これは私をに送ります/search/?location=whatever

/search/whatever代わりにこれを送信するにはどうすればよいですか?-つまり、GETデータはなく、URLのみです。

4

1 に答える 1

1

フォーム ポスト メソッドをそのように書き換えることはできません。これを効率的に行う方法は.htaccess、ルートで を使用することです。

RewriteEngine On
RewriteRule ^search\/?location=(.*)$ search/$1

これ/search/?location=whatever/search/whatever

または、複雑な JS ソリューションを探している場合。これはjQueryを使用したものです

$("form").submit(function() {
    var search = $("#search_box").val(); //get the element
    $(this).attr("action", $(this).attr("action")+search);  //attach to the post url
    $("#search_id").remove();  //remove the element, so it doesnot get sent
    console.log($(this).attr('action')); //check the console, if the action was changed and yes it was
    //return false; //continues the post to the new url if commented
});

デモ

于 2012-04-08T11:14:09.083 に答える