2013-03-06 23 views
0

我正在做一个CakePHP网站,我有一个窗体,用户应该能够动态地添加多行输入,用JavaScript。 让我把它简化: 我生成这个代码的第一个输入:CakePHP - 多行表单 - 添加输入与JS,但只有第一个被提交

echo $this->Form->input('Student.0.name'); 

所以,当用户点击添加更多的输入 - 然后我注入此输入的HTML - 这就是:

<div class="input required"> 
    <label for="Student1Name">Width</label><input name="data[Student][1][name]" id="Student1Name" type="text"> 
</div> 

从CakePHP代码生成的HTML等于另一个 - 除了“0”和“1”,我们在这里有后续数字。但是,当我提交时 - 我只有服务器上的第一个输入数据...因为其他人从未提交过。

我错了什么?

+0

你可以发布你的javascript代码,请 – 2013-03-06 08:22:39

+0

请发现它作为答案:) ...它太大了评论:D ... – 2013-03-06 08:33:00

回答

0
// some variables .. 
var currentlyStudentsCount = 1; 

var oneStudentHtml = '<div class="input required"><label for="StudentstudentNumberName">Width</label><input name="data[Student][studentNumber][name]" id="StudentstudentNumberCountName" type="text"></div>'; 

$('#addStudent').on('click', function() { 

    // and add the HTML for one more student .. 
    $('#moreStudentsWrapper').append(
    oneStudentHtml.replace(
     /studentNumber/g, 
     currentlyStudentsCount 
    ) 
); 

    // increment the current students count .. 
    currentlyStudentsCount++; 
}); 
相关问题