-1

フォーム要素の action 属性で、実際のフォームからの値とともに送信される get 値をいくつか指定しました。しかし、ハードコーディングした値は新しいドキュメントに送信されません。何が間違っていますか?

 <form action="loginForm.php?type=dept" method="get">
    <select name="dept" onchange="this.form.submit()">
      <option value="">Department</option>
      <option value="Bar">Bar</option>
      <option value="Cleaning">Cleaning</option>
      <option value="Kitchen">Kitchen</option>
      <option value="Management">Management</option>
      <option value="Maintenance">Maintenance</option>
      <option value="Waiting">Waiting</option>
    </select>
  </form>

loginForm ファイルの先頭にこのコードがあり、毎回「Type not set」を出力します。

if(!isset($_GET['type']))
{
    echo 'Type not set';
}
4

2 に答える 2

0

hidden次のような入力 を使用して送信してみてください:<input type='hidden' name='type' value='dept' />

コードは次のようになります。

<form action="loginForm.php" method="get">
    <input type='hidden' name='type' value='dept' />
    <select name="dept" onchange="this.form.submit()">
      <option value="">Department</option>
      <option value="Bar">Bar</option>
      <option value="Cleaning">Cleaning</option>
      <option value="Kitchen">Kitchen</option>
      <option value="Management">Management</option>
      <option value="Maintenance">Maintenance</option>
      <option value="Waiting">Waiting</option>
    </select>
  </form>
于 2013-09-14T22:16:44.323 に答える
0

これは、URL に入れて「強制」している get パラメータが、ページの送信時に「上書き」されるためです。次のような隠しフィールドを使用する必要があります。

input type="hidden" name="type" value="valuehere" />

これをフォームに追加すると、この追加の値が送信されます。

于 2013-09-14T22:18:10.300 に答える