0

検索サイトがあります。ホームページの検索バー フォームが結果ページに表示されるようにします。

フォームのさまざまな要素をすべてプリロードするためのソリューションはありますか? 3 つのテキスト フィールド、2 つのラジオ ボタン、2 つのチェックボックスがあります。

現在、$_GET['valueName'] が現在の要素オプションと等しいかどうかを確認する php 関数を使用して各要素を中断する必要がありますが、それは複雑すぎて標準にするには醜いようです。

並列例:

<select name="section">
<option value="free" selected="<? if($_GET['section'] == 'free'){echo 'selected';} ?>">Free</option>
<option value="under100" selected="<? if($_GET['section'] == 'under100'){echo 'selected';} ?>">Under $100</option>
<option value="under200" selected="<? if($_GET['section'] == 'under200'){echo 'selected';} ?>">Under $200</option>
<option value="any" selected="<? if($_GET['section'] == 'any'){echo 'selected';} ?>">Any price</option>
    </select>

私はそれが機能することを知るためにそれを実行していませんが、フォームにデータを入力するクライアント側の方法はありませんか?

4

2 に答える 2

0

何かのようなもの:

<input type="text" name="search" value="<?php if(isset($_POST['your_var']){ echo htmlspecialchars($_POST['your_var']);}?>">

次に、チェックボックス/ラジオの場合、私が信じているループを実行しますが、頭のてっぺんの右側を思い出せません。

于 2013-01-11T02:59:28.030 に答える
0

フォームの変数を別のページに渡してそのページに表示したい場合は、次のようにすることができます。

<form action="new_page.php" method="POST">
<input type="text" name="search_phrase">
</form>

次に、 new_page でそれらをロードして表示できます。

<?php
if(isset($_POST['search_phrase'])){ echo $_POST['search_phrase']; }
?>

これはおそらく、フォーム データを新しいページにロードする最も簡単な方法です。フレーム、div、または AJAX を使用したくない場合。私はもっ​​と具体的な答えを出していたでしょうが、あなたはサンプルコードを出していませんでした。いずれにせよ、この方法は問題なく機能するはずです。

検索バー全体を両方のページに含めたい場合は、検索バーを別の php ファイルに入れて、次のようにインポートするだけです。

include('my_search_bar.php'); 

また、$_GET が見苦しく邪魔だと思う場合は、POST を使用できます (link.php?var=abc のようにリンクに変数を配置しません...また、投稿変数が一番上に設定されているかどうかを確認すると、関数が実行されて変数が表示される前に、これらすべてが必要になるようにページを作成して、関数がよりエチケットの流れに見えるようにすることができます。

于 2013-01-11T02:54:14.357 に答える