如何在提交表单后自动选择列表菜单中的选定项目?

时间:2010-06-11 14:02:46

标签: php javascript html forms

我有这段代码:

  <form id="form2" name="form2" method="post" action="">
      <table dir="ltr" width="554" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td width="269" class="da"><div align="center"><span id="spryselect1">
            <select onchange="form2.submit()" name="mpage" id="mpage">
              <option selected="selected" value="no">-----------</option>
              <option value="medmo">Medmo.com</option>
              <option value="paris">Paris.com</option>
              <option value="imo">IMO.com</option>
            </select>
          </span></div></td>
          <td width="214" class="t_b">Select Website</td>
        </tr>
      </table>

    </form>

当用户选择一个值时,表单会自动提交,我希望在提交表单后选择用户选择的项目。

因为我正面临着这个问题:

用户选择第一项(Medmo.com) - &gt;表单提交 - &gt;所选项目将是“-------”

我希望这种情况发生:

用户选择第一项(Medmo.com) - &gt;表单提交 - &gt;所选项目将是“Medmo.com”

我怎么能这样做?

先谢谢。

3 个答案:

答案 0 :(得分:3)

一种可能性是:

<option value="medmo"<? if($mpage=='medmo') echo ' selected="selected"'; ?>>Medmo.com</option>
<option value="paris"<? if($mpage=='paris') echo ' selected="selected"'; ?>>Paris.com</option>
<option value="imo"<? if($mpage=='imo') echo ' selected="selected"'; ?>>IMO.com</option>

答案 1 :(得分:1)

另一种方式,更优雅:

使用ids(数字),然后只做一个循环,检查帖子号码是否与当前号码匹配, 你可以用数组做到这一点:

        // 0 ,1, 2
$ids = ('Medmo','Paris','Imo');
$selected = $_POST['mpage'];
for($i=0;$i<count($ids);$i++)
{
      if($ids[$i] == $selected)
      { 
          $selected = 'selected="selected"';
      }
      print '<option value="'.$i.'" '.$selected.'>'.$ids[$i].'.com</option>';

}

答案 2 :(得分:0)

你不能单独使用html(也不是javascript)。

提交表单时,会加载一个新页面,并且您对那里发生的事情没有任何影响。

所以你需要一些服务器端框架(php,rails,java,等等),或者你可以使用cookies和javascript(将所选值存储在cookie中并从这个cookie值初始化新页面)