Javascript + PHP +动态文本字段+ Jquery

时间:2009-11-23 15:52:02

标签: php javascript jquery jquery-ui

我正在处理一个Web表单,该表单根据用户的多个日期动态添加文本字段。本质上就是这样......用户转到表单,它有一个主要日期文本字段供用户使用,如果用户希望他可以通过单击“添加日期”按钮添加日期文本字段。 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数据库?我会循环播放它们还是什么?我想我真的不确定如何很好地操纵动态字段。

感谢您的帮助!

亚伦

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

将每个日期字段命名为将其添加到PHP数组(而不是ids):

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

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