我正在构建一个表单 - 当用户点击“复制”按钮时,其中的一部分会动态生成并增加输入字段的各个 id。例如,为名字创建的输入字段的 id 为“firstname1”,当它复制时,它变为“firstname2”等。
我的问题出在我正在尝试构建的 php“确认”页面中。我想回显每个生成和填充的输入字段,而不用硬编码一堆回声。有人告诉我使用数组而不是单独的变量名——我有点理解这个概念,但还不够。
我试图创建一个数组来捕获每个新输入的值,这样我就可以 $_POST 数组,然后循环并回显每个值,但我真的不明白需要更改什么以及在哪里实现它。
以下代码复制了整个容器 div,它是输入字段,并增加了它的类号:
$(#replicate').click(function(){
var $cloned = $('.container1').clone();
$cloned.find('input').val('');
$cloned.appendTo($('.emptyContainer'));
var container = $(".emptyContainer div").length;
var containerNumber = container + 1;
var containerClass = 'container' + containerNumber;
$(".emptyContainer .container1").attr("class", containerClass);
然后输入 ids 以相同的方式递增:
var fnameID = 'firstname' + containerNumber;
$('.emptyContainer #firstname1').attr({id: fnameID, name: fnameID});
还有更多的输入,包括姓氏、电话、电子邮件等。
另一位用户建议:
foreach($_POST as $fieldName=>$fieldValue){
echo $fieldName." = ".$fieldValue."<br/>";
}
虽然这可以让我在 php 页面上获得所有内容,但它们都在一个大块中,这会使后来的样式有点麻烦。
如何获取每个新输入的输入值,将它们存储在一个数组中,并将它们发布到 php 端,这样当用户点击提交时,所有相关信息都保留在它的相关区域中?