【问题标题】:Get the selected value of <select> tag in PHP获取PHP中<select>标签的选中值
【发布时间】:2014-03-02 17:13:18
【问题描述】:

这是一个简单的问题,但我不知道为什么我无法在我的选择标签中获取值。也许是因为它在一个 div 中,但我需要它来过滤应该在我的表单上显示的内容。

<div class="Province" id="provinces">
    <div class="Province1">
        City/Municipality
        <select class="form-control" name="city">
            <option name="" value="">Select City/Municipality</option>
            <option value="CityA">City A</option>
            <option value="CityB">CityB</option>
        </select>
    </div>
    <div class="Province2">
        City/Municipality
        <select class="form-control" name="city">
            <option name="" value="">Select City/Municipality</option>
            <option value="CityA">CityA</option>
            <option value="CityB">CityB</option>
            <option value="CityC">CityC</option>
        </select>
    </div>
</div>

我的 PHP 脚本是

$City  = $_POST["city"];

执行此过程后,在我的表单中获取其他值没有问题。 div 标签内的这个选择标签是唯一的问题。请帮忙。谢谢。

【问题讨论】:

    标签: php html select


    【解决方案1】:

    您有两个同名的表单元素。结果,您只会得到一个值,而且它可能不会是您想要的值。更改它,使这些选择元素具有唯一的名称,这将解决您的问题。

    【讨论】:

      【解决方案2】:

      您已经定义了两个同名的选择元素。 `

                      <div class="Province1">
                          City/Municipality
                          <select class = "form-control" name="cityOne">
                              <option name="" value="">Select City/Municipality</option>
                              <option value="CityA">City A</option>
                              <option value="CityB">CityB</option>
      
                          </select>
                      </div>
                      <div class="Province2">
                          City/Municipality
                          <select class = "form-control" name="cityTwo">
                              <option name="" value="">Select City/Municipality</option>
                              <option value="CityA">CityA</option>
                              <option value="CityB">CityB</option>
                              <option value="CityC">CityC</option>
      
      
                          </select>
                      </div>
              </div>
      

      `

      现在使用$CityOne = $_POST["cityOne"];$CityTwo = $_POST["cityTwo"];

      【讨论】:

      • 有效!但是,当我添加另一个选择标签时,说“Province3”并添加更多,我无法再检索任何数据。这是为什么?我该如何解决这个问题?谢谢。
      【解决方案3】:

      除了John's Answer,您还可以在表单标签之外定义表单控件,例如:

      <form action="" id="myform">
        Test input: <input type="text" name="test1"><br>
        <input type="submit" value="Submit">
      </form>
      <select name="filter1" class = "form-control" name="city" form="myform">
         <option name="" value="">Select City/Municipality</option>
         <option value="CityA">CityA</option>
         <option value="CityB">CityB</option>
         <option value="CityC">CityC</option>
      </select>
      

      这里我们在 select 元素中定义了 form="myform",它是对表单 ID 的引用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 2019-11-12
        • 2018-10-30
        相关资源
        最近更新 更多