【问题标题】:Custom Number Of Inputs自定义输入数量
【发布时间】:2012-09-15 18:34:21
【问题描述】:

我需要在 HTML 表单中输入某些多边形的 UTM 坐标。我将使用 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/

【问题讨论】:

    标签: php jquery mysql html forms


    【解决方案1】:

    你可以试试这样的:

    +---------+------------+-----------+-------------+
    | polygon | point      | y         | x           |
    +---------+------------+-----------+-------------+
    
                                    ***************
                                    * Add Another *
                                    ***************
    

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

    这样 php 脚本一次只处理一个点,而且 UI 也不会杂乱无章。

    【讨论】:

    • 不错的一个。但不确定这是否是 MySQL 的最佳实践。
    【解决方案2】:

    如果您只是将输入命名为通用名称,例如(带括号)

    <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']);
    

    将打印您所有的层输入值。

    【讨论】:

    • 如果您查看我的示例,您会发现这就是我目前正在做的事情。您能否解释一下该表单中应该存在多少个输入框?
    • 我不确定我是否完全理解你的问题,但如果你问的是输入框的 number 个,你可以有任意多个。然后,您将使用 PHP 文件中的 foreach 循环来处理它们。这里接受的答案可能会给你一个想法:stackoverflow.com/questions/2433727/…
    • 试图找到一种更方便的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 2011-01-06
    • 1970-01-01
    相关资源
    最近更新 更多