0

我正在做一个 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”,我们在这里有连续的数字。但是,当我提交时 - 我只有服务器上的第一个输入数据......因为其他数据从未提交过。

我错了什么?

4

1 回答 1

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++;
});
于 2013-03-06T08:32:21.630 回答