CakePHP - multirow表单 - 使用JS添加输入,但只有第一个提交

时间:2013-03-06 08:20:11

标签: php javascript forms

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

我错了什么?

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++;
});