0

mysqlクエリを介してフォームで選択されたオプションを入力します。

結果は次のようになります。

<form method="get" action="">

  <select name="recordlabel" onChange="submit()">
    <option selected="selected"></option>
    <option value="1">COLUMBIA</option>
    <option value="2">SONY</option>
    <option value="3">EMI</option>
  </select>

</form>

オプションを選択すると、フォームが自動的に送信され、次のようになります。

http://www.mysite.com/?recordlabel=3

私が欲しいのはフレンドリーなURLを使用することであり、次のようになります。

http://www.mysite.com/recordlabel/emi.3

http://www.mysite.com/recordlabel/columbia.1

これで、mode_rewriteを使用する必要があることがわかりました...問題はなく、次のようになります。

RewriteRule ^/recordlabel/.*\.([0-9]+)$ /mysite.com?recordlalel=$1 [L]

私が得られない部分は、文字列をどのようにフォーマットして、わかりやすいURL onChange()のように見えるかです。どうすればそれを実現できますか?

4

1 に答える 1

1

ネイティブ送信に依存するのではなく、javascriptを使用してフォームを送信する必要があります。

jQueryを使用している場合は、これを行うことができます(テストされていません)。

$("form").submit(function(e){
  e.preventDefault();
  var formData = $(this).serialize();
  $.get('/recordlabel/'+formData.recordLabel', function(data){
   //do something with response data.
  });
});
于 2012-09-18T05:50:24.903 に答える