Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.02.2016, 16:25
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

Код:
<tr>
	<td>
		<input type="hidden" name="data[Application][<%= key %>][num_app]" value="14" id="Application&lt;%=Key%&gt;NumApp"/>		<div class="input text"><input name="data[Application][<%= key %>][title]" class="form-control title" readonly="readonly" maxlength="255" type="text" id="Application&lt;%=Key%&gt;Title"/></div>	</td>
	<td><div class="input text"><input name="data[Application][<%= key %>][zip]" min="1" class="form-control text" varZip="&lt;%= key %&gt;" maxlength="5" type="text" id="Application&lt;%=Key%&gt;Zip"/></div></td>
	<td><div class="input number"><input name="data[Application][<%= key %>][number]" min="1" class="form-control" type="number" id="Application&lt;%=Key%&gt;Number"/></div></td>
	<td><div class="input text"><input name="data[Application][<%= key %>][expiry]" class="form-control" type="text" id="Application&lt;%=Key%&gt;Expiry"/></div></td>
	<td class="actions">
        <a href="#" class="remove">[X]</a>
    </td>
</tr>
вместо <%= key %> underscore.js добавляет числа, чтобы поля были уникальными. Это делал по этой статье, которую теперь не могу найти. Может еще найдеться.
Ответить с цитированием
  #12 (permalink)  
Старый 26.02.2016, 16:25
Аватар для AciDWarrioR
Кандидат Javascript-наук
Отправить личное сообщение для AciDWarrioR Посмотреть профиль Найти все сообщения от AciDWarrioR
 
Регистрация: 11.11.2015
Сообщений: 136

Nicson,
Ну это не то, чтобы неправильно, скорее, это выглядит как:
вам надо положить пару швов на руку, но лучше отрубить руку и новую на её место пришить. Как-то так)
Ответить с цитированием
  #13 (permalink)  
Старый 26.02.2016, 16:32
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

Согласен, но по другому пока не знаю как это сделать. На первый вариант, думаю пойдет. Потом может разберусь и сделаю как надо
Ответить с цитированием
  #14 (permalink)  
Старый 26.02.2016, 16:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Давайте так, я пишу на 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, это идентификатор (только в этом случае можно говорить об уникальности), которому значения полей будут добавлены, тогда да, это нужно, и это не просто число как вы писали. В противном случае это число указывать не обязательно.

Полей несколько, а значит добавляется не поле, а группа полей, так?

Последний раз редактировалось laimas, 26.02.2016 в 16:48.
Ответить с цитированием
  #15 (permalink)  
Старый 26.02.2016, 16:56
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

Сообщение от laimas Посмотреть сообщение
Давайте так...
Спасибо! Но это тогда надо переписывать все вручную. А все уже написано на CakePHP. Поэтому - за пример большущее спасибо, я его разберу в качестве примера для дальнейшего изучения. А потом может сделаю подобное на том что есть
Ответить с цитированием
  #16 (permalink)  
Старый 26.02.2016, 16:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nicson
Но это тогда надо переписывать все вручную.
Что именно?
Ответить с цитированием
  #17 (permalink)  
Старый 26.02.2016, 17:00
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

Сообщение от laimas Посмотреть сообщение
Что именно?
В том смысле,что совсем отказывается от CakePHP и писать все в "чистую". А этого не хотелось бы
Ответить с цитированием
  #18 (permalink)  
Старый 26.02.2016, 17:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Я вам не предлагаю отказываться от движка, и код этого не предполагает. Вы не даете пояснений. Что такое есть <%= key %>?

В JS коде примера, собственно говоря, наплевать будет там номер или нет, если это просто номер.

Пример с чего начинается? Правильно, нет вообще полей. А если ваш движок по умолчан6ию пусть помещает в форму одно поле, а остальные добавляет пользователь, и надо нумеровать, ну так ведь не проблема считать вставки и удаления, и вставляя некий номер.

Другое дело, если <%= key %>, это уникальный идентификатор, то не проблема его сообщить клиенту, или получить из имени, так как он постоянен будет.
Ответить с цитированием
  #19 (permalink)  
Старый 26.02.2016, 17:15
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

ок, если хотите, я могу выложить код PHP фреймворка этого, как это все работает. Но там без пояснений не понятно. Сам с этим разбирался долго по статье из инета. Но сайт сейчас почему то не работает этот.
Ответить с цитированием
  #20 (permalink)  
Старый 26.02.2016, 17:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nicson
ок, если хотите, я могу выложить код PHP фреймворка этого, как это все работает.
Чтобы весь форум лег?

Этот форум по вопросам клиентского скрипта, РНР может затрагиваться в неких случаях, но только кратко, для уяснения причины к примеру. А выложить код фреймворка, это слишком, смотреть его не будут.

Вы и без этого кода должны знать что это за число, вы же задачу ставите, код движка лишь решает ее. Косвенно понять это также не сложно, посмотрев результирующий html-код формы на странице.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование значений по всем динамически добавленным полям Joliat Общие вопросы Javascript 2 12.02.2014 16:01
геометрические формы динамически imediasun1 (X)HTML/CSS 0 17.01.2014 15:10
как получить доступ к динамически созданным html элементам? korney Элементы интерфейса 8 21.01.2012 22:12
Доступ к значениям элементов формы модального окна. =VNK= jQuery 5 14.01.2012 16:00
Проблема с динамически созданным инпутом DZHETIGAPA Элементы интерфейса 2 12.05.2011 10:01