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 に答える