Javascript.RU

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

Доступ к динамически созданным полям формы
Всем привет!
Начал изучать JavaScript, подскажите, как сделать.
Есть форма в которой поля добавляются динамически. Уникальным атрибутом этих полей является name. Он имеет вид - [Application][i][title], где i - число. Получается своеобразный массив. К этим полям и нужен доступ, чтобы потом с каждым из них можно было управлять с помощью JavaScript. Как это сделать (лучше, проще) ? Или ткните меня где про это можно почитать. Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 25.02.2016, 09:10
Аватар для AciDWarrioR
Кандидат Javascript-наук
Отправить личное сообщение для AciDWarrioR Посмотреть профиль Найти все сообщения от AciDWarrioR
 
Регистрация: 11.11.2015
Сообщений: 136

Nicson,
Ну Вам должен помочь Jquery.
Но в целом достаточно размыто Вы поставили задачу. Желательно бы код выложить, как у Вас все устроено и подробности. Надеюсь ссылка Вам поможет.
Ответить с цитированием
  #3 (permalink)  
Старый 25.02.2016, 20:10
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

Сообщение от AciDWarrioR Посмотреть сообщение
Nicson,
Ну Вам должен помочь Jquery.
Но в целом достаточно размыто Вы поставили задачу. Желательно бы код выложить, как у Вас все устроено и подробности. Надеюсь ссылка Вам поможет.
Спасибо. Буду пробывать. Но если не понятно, тогда расскажу, как все работает сейчас:

Корпоративный сайт, на котором работники добавляют заявки на нужные детали. Начальник потом видит эти заявки и обрабатывает. На странице добавления заявки есть форма добавления - деталей в заявке может быть сколько угодно, поэтому поля для ввода добавляются динамически. Нажимаешь на кнопку и поле добавилось. Все работает, но сейчас заявки заполняются "руками" работников и вот есть идея сделать, чтобы в одном поле работник вводил каталожный номер, а в другом появлялось название, чтобы не было ошибок ввода. Если форма статичная, то есть изначально прописана в коде - у меня все работает через ajax. Но когда делаю на этих динамических полях, тогда возникают проблемы с поиском элементов этих полей, чтобы передавать данные. Поэтому и появился этот вопрос - как можно получать доступ к динамическим полям формы. Сам сайт написан на CakePHP 2. Писал сам, поэтому если нужен еще какой то код - могу выложить или что то объяснить.
Ответить с цитированием
  #4 (permalink)  
Старый 26.02.2016, 06:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nicson
Уникальным атрибутом этих полей является name. Он имеет вид - [Application][i][title], где i - число.
Если имена полей будут именно такими [Application][i][title], то сервер вообще ничего не получит, это ключи без имени.

Получить к динамически добавляемому элементу, это не конкретно. Если к примеру подразумевается назначение обработчика, то лучше делегирование в этом случае. Если же обратиться к нему, то можно и по имени, вот только возникает вопрос что же это за i такое, если просто порядковый номер, то его можно без вреда и выбросить, если это признак, пусть и временный, то опять смотря чего, можно ведь его и знать.

Вопрос слишком абстрактный.
Ответить с цитированием
  #5 (permalink)  
Старый 26.02.2016, 15:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Nicson
2. Писал сам, поэтому если нужен еще какой то код - могу выложить или что то объяснить.
Выложите текущий HTML код формы заполненный руками(без аяксов) на два или три наименования (пустые строки наименований можно не включать, если они идентичны по структуре заполненным)
Ответить с цитированием
  #6 (permalink)  
Старый 26.02.2016, 15:22
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

Спасибо, за советы и помощь. Вроде получилось. Сделал так: заполняешь строку данными, нажимаешь кнопку добавить строку - предыдущая становиться readonly, а в новой все работает. Может конечно, криво, но работает. Как такой вариант в плане оптимизации и быстроты работы ?
Я недавно начал работать в Явой, поэтому так. Но изучение не прекращаю, а с набором опыта буду код улучшать. Еще было бы здорово, если бы посоветовали, что почитать, чтобы побыстрей вьехать в курс дела. Спасибо всем!
Ответить с цитированием
  #7 (permalink)  
Старый 26.02.2016, 15:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nicson
Сделал так: заполняешь строку данными, нажимаешь кнопку добавить строку - предыдущая становиться readonly, а в новой все работает.

А если замечена ошибка в предыдущем и надо исправить? Вы не считаете нужным пояснять неизвестное, поэтому трудно судить о том правильно или нет делаете, но именование полей и описание задачи позволяют сказать - Нет.
Ответить с цитированием
  #8 (permalink)  
Старый 26.02.2016, 15:50
Интересующийся
Отправить личное сообщение для Nicson Посмотреть профиль Найти все сообщения от Nicson
 
Регистрация: 28.04.2010
Сообщений: 11

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

Сообщение от Nicson
Так вот - если в предыдущей ошибка - эту строку можно только удалить и написать по новой.

Это не правильно, вы изначально неправильно поступаете. Удалять предыдущее, чтобы удалить ошибку, это слишком.

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

Сообщение от laimas Посмотреть сообщение
Это не правильно, вы изначально неправильно поступаете. Удалять предыдущее, чтобы удалить ошибку, это слишком.

Может все таки поясните что означают имена формы?
Это уникальное имя, по которому CakePHP "понимает" что это за поле и добавляет из него данные в базу. Это если проще.
Я бы выложил весь код формы в 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