保留GET请求中的值

3zz*_*zzy 1 html javascript php forms get

<form method="get" action="">
   <select name="name" onchange='this.form.submit()'>
      <option value="a">a</option>
      <option value="b">b</option>
   </select>
   <select name="location" onchange='this.form.submit()'>
      <option value="x">x</option>
      <option value="y">y</option>
   </select>
</form>
Run Code Online (Sandbox Code Playgroud)

我选择选项'a'并且它工作正常,但是如果我选择'x','a'值会从URL中消失,我该如何保留所有值?

编辑:同样在提交表单时,如何确保所选值仍在选择菜单中保持选中状态?

谢谢

T.J*_*der 5

提交表单会将目标页面加载到窗口中(在这种情况下,目标页面与您所在的页面相同).我强烈建议用户从列表中选择一个项目时提交表单; 这不是用户期望发生的事情.

但是如果你这样做了,你将必须跟踪用户选择的"到目前为止"服务器端的字段,然后selectedoption标签上为他们之前选择的值设置适当的属性,例如在生成时形成:

<option value='a' selected>a</option>
Run Code Online (Sandbox Code Playgroud)

但同样,最好让他们做出选择,然后用某种按钮提交表格.如果您希望列表的内容根据他们目前所选择的项目而更改,您可以使用客户端JavaScript(可能与服务器的Ajax查询结合)来实现这一点.