0

私はPHP + HTMLで作業しています

次のようにアクションが定義されたフォームがあります。

1] フォーム action="index.php?option=com_advertisment&task=keysearch&Itemid=2&catid=this.options[this.selectedIndex].value"

フォームを送信すると、選択したドロップダウンの値がクエリ文字列に表示されません。

つまりthis.options[this.selectedIndex].value、置換ではなく、value次のようなクエリ文字列に含まれていることを意味します。

http://mydemoserver.com/index.php?option=com_advertisment&task=keysearch&Itemid=2&catid=this.options[this.selectedIndex].value

誰かが解決策を知っているなら、私を助けてください。

ありがとう

4

2 に答える 2

0

HTMLとJSを誤って混在させようとしているようです。

タグがある場合は、<form>すべてのフィールドをタグ内に配置するだけです。

最初の3つのクエリとパラメータのペアを静的にしたい場合は、非表示の<input>タグ内にそれらを書き込むことができます。

例えば:

<form action = "index.php" method = "GET">

<input type = "hidden" name = "option" value = "com_advertisment" />
<input type = "hidden" name = "task" value = "keysearch" />
<input type = "hidden" name = "Itemid" value = "2" />

<select name = "catid">
    <option value = "1">Some option</option>
    <option value = "2">Another option</option>
</select>

<input type = "submit" />

</form>
于 2012-07-10T07:34:26.800 に答える
0

nameドロップダウン/選択ボックスに属性を指定していることを確認してください。

eg. <select name="foobar"><option value='first'>First</option></select>

のアクション属性をと<form>index.phpのみ変更しますmethod='get'

したがって、フォームを送信すると、すべてのデータがgetメソッドを介してphpページ(この場合はindex.php)に送信され、を使用してデータをフェッチできます$_GET['foobar']

于 2012-07-10T07:35:09.897 に答える