2012-02-16 32 views
1

我創建了一個zend表單並希望在其中添加動態文本框。
使用javascript創建它。
但在提交表單時,只發布最後創建的文本框中的數據。
請幫忙。zend形式的動態文本框

<script type="text/javascript"> 
    var count1 = 0; 
    var count2 = 0; 
    var count3 = 0; 
    var count4 = 0; 
    var count5 = 0; 
    var count6 = 0; 
    $('#addone').click(function() { 
     $('#link-element').append($('<input id="link" class="link" type="text" name="link"/>').hide().slideDown(100)); 
     count1++; 
    }); 
    $('#addtwo').click(function() { 
     $('#youtube-element').append($('<input id="yahoo'+count2+'" class="link" type="text" name="yahoo"/>').hide().slideDown(100)); 
     count2++; 
    }); 
    $('#addthree').click(function() { 
     $('#gamepuzzle-element').append($('<input id="gamepuzzle'+count3+'" class="link" type="text" name="gamepuzzle"/>').hide().slideDown(100)); 
     count3++; 
    }); 
    $('#addfour').click(function() { 
     $('#flashgame-element').append($('<input id="flashgame'+count4+'" class="link" type="text" name="flashgame"/>').hide().slideDown(100)); 
     count4++; 
    }); 
    $('#addfive').click(function() { 
     $('#moketest-element').append($('<input id="moketest'+count5+'" class="link" type="text" name="moketest"/>').hide().slideDown(100)); 
     count5++; 
    }); 
    $('#addsix').click(function() { 
     $('#indigenousintegration-element').append($('<input id="indigenousintegration'+count6+'" class="link" type="text" name="indigenousintegration"/>').hide().slideDown(100)); 
     count6++; 
    }); 
</script> 

回答

1

嘗試將表單輸入作爲數組發送。 例如

$('#addsix').click(function() { 
    $('#indigenousintegration-element').append($('<input id="indigenousintegration'+count6+'" class="link" type="text" name="indigenousintegration[]"/>').hide().slideDown(100)); 
    count6++; 
}); 

注意輸入名稱末尾的[]。

+0

非常感謝。 這爲我工作。 因爲我的代碼中的'名稱'在表單中也是相同的,所以當它按照你所說的完成時,它覆蓋了表單默認輸入。 現在我將這個動態字段重命名爲name =「indigenousintegrationmore []」。它的工作原理是 。 非常感謝.. – 2012-02-17 02:21:49