来自多个表单的单个表单数据提交

问题描述 投票:0回答:1

我有以下(简化的)HTML代码,其中包含两种形式:

<html>
  <form name="form1" method="get">
    Name: <select name="name" type="text">
      <option selected>A</option>
      <option>B</option>          
      <option>C</option>
      <option>D</option>
    </select>
  </form>

  <form name="form2" method="post" action="../cgi/test.pl">
    City: <input name="city" type="text"/>
    Country: <input name="country" type="text"/>
    <input value="Click Me!" type="submit"/>
  </form>
</html>

因此,单击提交按钮时,将执行CGI脚本,我希望该脚本也能够提取在第一个表单的下拉列表中选择的名称。关于如何实现这一目标的任何建议?在较早的问题中,我只是发现了类似的内容,但不适合我的问题(如果我没有记错的话...)。

javascript html forms submit dom-events
1个回答
1
投票

我已经创建了一个片段,该片段可以根据需要工作,必要时我已经在注释中做了解释。看看这是否适合您。

<form name="form1" method="get">
  Name:
  <select name="name" type="text" onchange="document.querySelector('#any_id').value = this.value" style="width: 50%">
    <!-- trigger onchange event and change the value of hidden field in the second form -->
    <option selected>A</option>
    <option>B</option>
    <option>C</option>
    <option>D</option>
  </select>
</form>
<hr>
<form name="form2" method="post" action="../cgi/test.pl">
  <!--<input type="hidden" name="any_name" id="any_id" value="Your-default-value"> -->
  <!-- Make this field hidden↓↓, here only for demo purpose-->
  Hidden Field: <input type="text" name="any_name" id="any_id" value="A"><br><br>
  <!-- Give it a default value from your select element(which is A) -->
  City: <input name="city" type="text" /><br><br> Country: <input name="country" type="text" /><br><br>
  <input value="Click Me!" type="submit" />
</form>

然后从隐藏字段的name(此处为any_name)中获取值。

© www.soinside.com 2019 - 2024. All rights reserved.