【问题标题】:Javascript + PHP + Dynamic Text Fields + JqueryJavascript + PHP + 动态文本字段 + Jquery
【发布时间】:2026-02-15 14:15:02
【问题描述】:

我正在开发一个网络表单,该表单可以根据用户对多个日期的需要动态添加文本字段。本质上这就是发生的事情......用户进入表单,它有一个用户的主要日期文本字段,如果用户希望他可以通过单击显示“添加日期”的按钮添加日期文本字段。 javascript如下:

function addDate() {
                    current++;
                    var strToAdd = '<p><input type="text" id="date'+current+'" name="classDate'+current+'" class="required" /> <input type="text" id="alt'+current+'" name="classDate'+current+'" class="required" /></p>'
                    //console.log(strToAdd)
                    $('.dynDate').append(strToAdd)
                    $('#date'+current+'').datepicker({altField: '#alt'+current+'', altFormat: 'DD, d MM, yy'});
            }

这会在表单中添加两个日期字段,同时将 jquery 日期选择器放在表单上,​​用于每个新的日期字段。正是这样:http://jqueryui.com/demos/datepicker/#alt-field ...

无论如何,我的问题是如何使用 PHP 从动态文本字段中将数据放入 MYSQL 数据库?我是循环遍历它们还是什么?我想我真的不确定如何很好地操作动态字段。

感谢您的帮助!

亚伦

【问题讨论】:

    标签: php javascript jquery jquery-ui


    【解决方案1】:

    为每个日期字段命名,就像它被添加到 PHP 数组(而不是 id)一样:

    <input type="text" id="date'+current+'" name="classDate[]" class="required" />
    

    使用 [ ] 语法(类似于 array_push() 快捷方式),classDate 将自动成为 $_POST 中的数组。然后在该数组上执行一个 for 循环。

    【讨论】:

      【解决方案2】:

      如果我有类似的东西,我倾向于发现它更容易解析: classDate_x,其中 x 是计数器,所以我以后可以拆分它。

      但是,您可以在 php 中循环遍历名称,直到找不到匹配项。

      我使用: isset($_POST['classDate_x']) 确定是否有。一旦我到达没有设置的地方,我就退出我的处理循环。

      由于您使用的是 jquery,您可能会发现在用户选择日期时提交日期会更容易,因为您可以在每个动态元素中包含该功能。

      【讨论】:

      • 非常感谢,我得去看看! =)