初始化javascript变量以重复表单中的部分

时间:2013-10-23 08:28:33

标签: php jquery forms

我有一个带有重复部分的表单,它使用jQuery来克隆部分并增加id。现在我需要初始化变量以便通过PHP发送表单。

HTML:

<div class="repeatingSection">
<label for="poste_1">Poste :</label>
<input type="text" name="poste_1" id="poste_1"/>
<label for="date_1">Date :</label>
<input type="text" name="date_1" id="date_1"/>
</div>

JQUERY:

jQuery('.cloneButton').click(function(event){

event.preventDefault();

var currentCount =  jQuery('.repeatingSection').length;
var newCount = currentCount+1;
var lastRepeatingGroup = jQuery('.repeatingSection').last();
var newSection = lastRepeatingGroup.clone(false).find('.cloneButton').remove().end();

newSection.insertAfter(lastRepeatingGroup);
newSection.find("input").each(function (index, input) {
    input.id = input.id.replace("_" + currentCount, "_" + newCount);
    input.name = input.name.replace("_" + currentCount, "_" + newCount);
});
newSection.find("label").each(function (index, label) {
    var l = jQuery(label);
    l.attr('for', l.attr('for').replace("_" + currentCount, "_" + newCount));
});
return false;
});

jQuery(document.body).on('click','.removeButton', function(){

    jQuery(this).closest('div.repeatingSection').remove();
    return false;
});

PHP:

$poste1 = '';
$date1 = '';
$poste1 = trim($_POST['poste_1']);
$date1 = trim($_POST['date_1']);

我知道我需要把它们放在一个数组中并循环遍历它们但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

您可以使用来自javascript的for循环和count变量,并执行以下操作:

for($i=1; $i<$currentCount; $i++) { 
${"poste".$i} = trim($_POST["poste_$i"]);
${"date".$i} = trim($_POST["date_$i"]);
}

你会有变量$ poste1和$ date1。使用$ {''}创建动态变量。