1

我有一个用于引用项目的表格。用户将能够将字段块添加到我目前正在工作的表单中。考虑下面的代码

<div class="fields">
   <select name="landscaping[]">
      <option value="1">Rocks</option>
      <option value="2">Other Rocks</option>
   </select>

   <select name="veneer[]">
      <option value="1">Veneer Rocks</option>
      <option value="2">Other Veneer Rocks</option>
   </select>

   <input type="text" name="quantity[]">

</div>

问题是用户可以选择单板或景观美化,但不能同时选择两者,但无论如何都会有与选择相关的数量。并且可能是一个附加参数。在本节的每个实例中,我需要一种将数量与单板或景观相关联的方法。

4

1 回答 1

1

由于您一次使用 javascript 隐藏其中一个元素,因此我还将包含一个隐藏字段,该字段保存您要从中获取值的选择字段的值。您也可以只查找具有值的那个,但是由于它们可能每个都有一个值,因此发送一个值来确定应该从哪个字段中提取值会更安全。

<div class="fields">
   <select name="landscaping[]">
      <option value="1">Rocks</option>
      <option value="2">Other Rocks</option>
   </select>

   <select name="veneer[]">
      <option value="1">Veneer Rocks</option>
      <option value="2">Other Veneer Rocks</option>
   </select>

   <input type="text" name="quantity[]">

   <!-- This value should change depending on which one is currently visible -->
   <input type="hidden" name="selectedField" value="landscaping">

</div>

然后在您的表单处理页面中使用如下内容:

$selection = $_POST[$_POST['selectedField']];

这将selectedField动态提取您帖子的值并使用它来获取正确的选择列表。不过,使用这种方法可能会有风险……确保清理 POST 数据!

于 2013-07-06T20:29:12.333 回答