Давайте так, я пишу на JQ и тоже с учетом динамического добавления полей, а если надо, то и удаления. Просто если надо удалить, а не потому, что в поле замечена ошибка, для исправления ошибки не надо удалять поле.
То что мы "работаем" с полем текущим в примере будет отражаться отображением его значения на странице.
Не было ответа на вопрос по номеру i, и я предполагая удаляю его, ибо просто нумерация полей будет соблюдена и так. Номер может потребоваться только в том случае, если поля (именно поля как набора значений) нужно привязать например к некоторому идентификатору.
То есть "работать" будет то поле, которое имеет фокус - запрос сервера за каталожным номером.
Вернуться для изменения в любое из полей тоже не проблема. Удалить поле, так же пожалуйста.
Отправка формы отобразит отправляемые данные, сервер при это получить элементы массива abc начиная с индекса 0.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
$('#add').click(function() {
$('#fields').append('<div><input name="abc[key][][field]"> <span id="del">Del</span></div>')
});
$('#fields').on('keyup', 'input', function() {
$('#val').text(this.value)
}).on('click', 'span', function() {
$(this).parent().remove()
});
$('form').submit(function(e) {
e.preventDefault();
$('#val').text(JSON.stringify($(this).serializeArray()))
})
});
</script>
</head>
<body>
<span id="add">Add</span>
<form>
<div id="fields"></div>
<button>Send</button>
</form>
</body>
<div id="val"></div>
</html>
То есть проблемы как таковой и нет собственно говоря, но с другой стороны много неясностей.
Сообщение от Nicson
|
Это уникальное имя, по которому CakePHP "понимает" что это за поле и добавляет из него данные в базу.
|
Еще раз - поле должно иметь имя и только затем ключи его, иначе сервер не примет таковых данных.
PS. data[Application][<%= key %>][num_app] - вот это другой разговор. Имя поля, это "data", а далее это ключи. Если key, это идентификатор (только в этом случае можно говорить об уникальности), которому значения полей будут добавлены, тогда да, это нужно, и это не просто число как вы писали. В противном случае это число указывать не обязательно.
Полей несколько, а значит добавляется не поле, а группа полей, так?