-1

クエリによって入力されるドロップダウンリストを使用して、フォームから変数を渡そうとしています。現在、result.phpに移動します

<form action="result.php" method="post">

<SELECT NAME=Model class="normal"> 
<OPTION VALUE=0>Phone
<?=$model_o?> 
</SELECT> 

<SELECT NAME=Mins  class="small"> 
<OPTION VALUE=0>Mins
<?=$minutes_o?> 
</SELECT> 

<SELECT NAME=Texts class="small"> 
<OPTION VALUE=0>Texts
<?=$texts_o?> 
</SELECT> 

<SELECT NAME=Freegifts class="big"> 
<OPTION VALUE=0>Choose Free Gifts 
<?=$freegifts_o?> 
</SELECT> 

<SELECT NAME=Network class="normal"> 
<OPTION VALUE=0>Network 
<?=$network_name_o?> 
</SELECT> 

<SELECT NAME=Merchant class="normal"> 
<OPTION VALUE=0>Contract/Prepay 
<?=$merchant_category_o?> 
</SELECT> 
<br>
<button type="submit" value="search phones" class="red"><span>Sumbit</span></button>

</form>

ただし、オプションが選択されている場合にのみ、各ドロップダウンからURLに変数を渡す必要があります。

たとえば、モデルが選択されている場合、送信が選択されたときに変数がURLに渡されます(例:result.php?model = iphone)。モデルと分が両方選択されている場合、URLは次のようになります(例:result.php?model = iphone&mins)。 = 500

私が実際に活動しようとしていることを説明するのに苦労しているので、これが理にかなっていることを願っています。

前もって感謝します :)

4

3 に答える 3

1

JavaScriptを使用して、送信時に値がゼロの変数を削除できます。したがって、それらは配列に含まれないため、result.php(URLを含む)に到達しません$GET

result.phpを設計して、ゼロ値が見つからない場合は通常どおりに動作しますが、ゼロ値が見つからない場合は、他のゼロ以外の変数のみを含む新しいURLが作成され、result.phpがそれ自体にリダイレクトできるようになります。

正直なところ、私は上記のいずれも行いません。各ドロップダウンメニューには最初にゼロの値を持つオプションがあるため、result.phpで受け取ったすべてのゼロ値を単に無視することができますが、これはURLからゼロ値の変数を削除しません。なぜこれをしたいのか考えてください。受信側でこの処理を行う方がはるかに合理的です。


POSTではなくGETを使用するつもりだったと思います

于 2012-04-20T19:57:20.673 に答える
0

デフォルトの選択(カウントされないもの)では、value属性を「」に設定します。これは、ブラウザにそのデータを送信しないことを示していると思います。

<select name="select1">
    <option value="">Default Selection</option>
    <option value="X">First option</option>
</select>
于 2012-04-20T19:56:12.213 に答える
0

GETを使用しているため、データが関連付けられているフォームフィールドのみを送信することはできません。GETを使用すると、データがない場合でも、すべてのフィールドを含むフォームに関するすべてが送信されます。Javascriptで解析できますか、それとも代わりにPOSTを使用できますか?

明確化 フォローアップのためにフォームタグがPOSTを示しているにもかかわらず、GETを使用していると言います(result.php?model ....)。

于 2012-04-20T19:59:42.520 に答える