0

だから私はフォーム(検索フォーム)のためにこのコードを書きました、そしてそれは次のようになります:

<form action="" method="get">
<select >
<option value="name">Client Name:</option>
<option value="email">Client Email:</option>
<option value="tnx_id">Transaction ID:</option>
<option value="amount">Amount:</option>
</select>
<input type="text" name="svalue" placeholder="Search"></input>
<input type="image" name="submit" src="img/search_btn.png"></input>
</form>

ユーザーが [検索] をクリックすると、URL を次のようにフォーマットする必要があります。

http://localhost/pp/index.php?search&name=haha

しかし、代わりに私は得る:

http://localhost/pp/index.php?search=name&svalue=haha&submit.x=0&submit.y=0

残りのコードは適切であるため、URL を正しくフォーマットするのが難しいだけです。URL の最後でもそれを取り除くことはできません&submit.x=0&submit.y=0。アイデアはありますか?基本的に、私の目的の URL 形式は、選択したオプション (名前、電子メール、tnx_id、金額) を取得し、それに svalue の値を割り当てます。

よろしくお願いします。よろしくお願いします。

4

3 に答える 3

3

それがフォームの仕組みです。各コントロールは、送信されたデータで name=value ペアを提供します。

JavaScript でハックすることもできますが、脆弱になります。要素<select>に名前を付け、サーバー側スクリプトを変更して、2 つのデータを別々のデータとして受け取るようにします。

&submit.x=0&submit.y=0URLの最後でもそれを取り除くことはできません

name正常なコントロールにならないように、イメージ マップから属性を削除します。

<input type="image" src="img/search_btn.png">

その他の改善点:

  • <input>空要素です。終了タグがあってはなりません。XHTML を記述している場合は、空の要素の構文を使用してください。
  • placeholderの代わりとして使用しないでください。<label>
  • イメージ マップに alt 属性を追加する
于 2012-08-20T12:48:55.713 に答える
1

JavaScript を使用して URL を作成します。jQuery を使用している場合:

var url = 'http://localhost/pp/index.php?search&'
        + encodeURIComponent($('#id-of-your-select-element').val())
        + '='
        + encodeURIComponent($('#id-of-your-svalue-element').val());

編集:submit.x andを取り除くsubmit.yことについては、@Quentin's answer を参照してください。

于 2012-08-20T12:51:30.297 に答える
0

あなたのphpコードでは、これを追加することができます:-

if(isset($_GET['name']))
{
$searchString="&cs=".$_GET['name'];
}

次にこれを使用します:

http://localhost/pp/index.php?".$searchString."/

これは正しいものを手に入れるのに役立つと思います。それでページネーションを使用したい場合は、以前に使用したコードがあり、うまく機能します。一度試してみてください!

于 2012-08-20T13:40:46.593 に答える