2013-10-23 31 views
0

我有一個重複部分的表單,使用jQuery克隆部分和增加ID。現在我需要初始化變量以便通過PHP發送表單。初始化JavaScript變量重複部分形式

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

我知道我需要把它們放在一個數組和循環通過他們,但我不知道如何去做。

回答

0

您可以使用一個for循環,並從JavaScript計數變量,這樣做:

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

你必須變量$ poste1和$ DATE1。使用$ {''}創建動態變量。

+0

謝謝。我將無法通過此表單完成測試,但我會通知您。 – mantis

+0

我不明白的一點是,當'var currentCount'是javascript時,我可以使用'$ currentCount'作爲一個php變量。我必須錯過一些東西......或者他們與另一個沒有任何關係,我需要定義'$ currentCount'? – mantis

+0

你可以使用php打印出javascript,你可以在php變量中存儲你喜歡的東西,或者你可以使用AJAX(更長的過程) –