私はドロップダウンリストと入力フィールドを持っています。 ドロップダウンリストが変更されるとすぐにURLを変更したいと思います。OnChangeイベントのあるフォーム
<?php $s = $_GET["s"]; $q = $_GET["q"]; ?>
<form method="get" action="" name="formulaire" >
<input type="text" name="q" value="<?php echo $q; ?>" />
<select name="s" onchange="if (this.value) window.location.href=this.value">
<option <?php if ($s == 'opt1') { echo 'value="opt1" selected="selected" >opt1 '; } else { echo 'value="opt1" >opt1 '; } ?></option>
<option <?php if ($s == 'opt2') { echo 'value="opt2" selected="selected" >opt2 '; } else { echo 'value="opt2" >opt2 '; } ?></option>
<option <?php if ($s == 'opt3') { echo 'value="opt3" selected="selected" >opt3 '; } else { echo 'value="opt3" >opt3 '; } ?></option>
</select>
</form>
今のように、入力フィールドがリストの前に入力されている場合にのみ実行されます。 value="?s=opt1"
でvalue="opt1"
を置き換えようとしました。しかし、入力フィールドがいっぱいになると、URLは?q=test&s=%3Fs%3Dopt1
のようになります。ここで
は私が期待していURLです:
のみテキスト領域が満たされている場合:?q=text
のみドロップダウンリストを選択した場合:?s=opt1
入力フィールドの場合とドロップダウンリストは、両方の/充填選択される:ここ?q=texte&s=opt1
は一例で:http://arkhana.fr/tempstack/menudyn.php
は、あなたが入力フィールドを意味ですか? – Yuri
申し訳ありませんが、入力フィールドを意味します。私は自分の投稿を編集しました。 – Guillaume
'window.location.href'を設定すると、ページは与えられたアドレスにリダイレクトされます。これを確認してくださいhttp://stackoverflow.com/questions/4282069/add-a-fragment-to-the-url-without-causing-a-redirectirect – Yuri