自定义输入数量

时间:2012-09-24 09:58:20

标签: php jquery mysql html html-form

我需要将某些多边形的UTM坐标输入到HTML表单中。我将使用php处理表单值以插入到mysql db中。但是多边形的数量和多边形的点可以是各种各样的。因此可以在表单上调整文本输入框。

+---------+------------+-----------+-------------+
| polygon | point      | y         | x           |
+---------+------------+-----------+-------------+
| 1       | 1          | 0         | 0           |
+---------+------------+-----------+-------------+
| 1       | 2          | 0         | 50          |
+---------+------------+-----------+-------------+
| 1       | 3          | 50        | 50          |
+---------+------------+-----------+-------------+
| 1       | 4          | 50        | 0           |
+---------+------------+-----------+-------------+
| 2       | 1          | 50        | 75          |
+---------+------------+-----------+-------------+
| 2       | 2          | 50        | 100         |
+---------+------------+-----------+-------------+
| 2       | 3          | 75        | 75          |
+---------+------------+-----------+-------------+

让用户输入点数来创建输入框似乎对我来说是一个好习惯。但是我不确定序列化值和使用php处理值的最佳做法?我应该使用JSON还是仅使用索引输入名称。或者是其他东西?

这是一个简单的例子: http://jsfiddle.net/UVZNq/

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

+---------+------------+-----------+-------------+
| polygon | point      | y         | x           |
+---------+------------+-----------+-------------+

                                ***************
                                * Add Another *
                                ***************

当用户按下“添加另一个”时,使用Ajax提交当前点并将现有(已提交)点转换为简单文本(而不是文本框)并添加新的文本框。

这样,php脚本一次只处理一个点,UI也不会混乱。

答案 1 :(得分:0)

如果您只是为输入命名一个常用名称,如(括号)

<td><input type="text" name="ply[]" /></td>
<td><input type="text" name="pnt[]" /></td>
<td><input type="text" name="y[]"/></td>
<td><input type="text" name="x[]" /></td>

你应该能够检索包含所有值的$ _POST或$ _GET(取决于你的表单方法)中的数组。例如:

print_r($_GET['ply']);

会打印所有ply输入值。