我正在做一个CakePHP网站,我有一个表单,用户应该可以使用JavaScript动态添加多行输入。 让我简化一下: 我使用以下代码生成第一个输入:
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 :(得分: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++;
});