![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Jops |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Здравствуйте уважаемые!
Есть функция формирующая таблицу с информацией (впоследствии появляется в диалоговом окне). Моя задача состояла в том, что бы в конце каждой <tr> с информацией, прикрутить SELECT + два скрытых <input> + кнопку для отправки формы. Так как SELECT и Кнопка формируются в ячейках, связал их с Формой при помощи form='data'. Для каждой <tr> Форма создаётся своя, но с одинаковым ID (предполагается, что за один раз можно изменить только одно значение в таблице). В срытых <input> формируются уникальные значение. <tr> может быть бесконечно много. Кинул click на Кнопку и создал функцию, которая обращается к серверному скрипту, для изменения значений в БД. Вот тут и начались проблемы, точнее одна. Data undefined так сказать) По всей видимости функция не получает данные из формы (у меня проблемы с подобными связываниями). Может, кто подскажет, намекнёт куда копать. Буду премного благодарен!
ДОБАВИЛ!!! Сам код формирующий в таблице <tr> с <td> и Формами
Функция отправки запроса на сервер
Это сообщение отредактировал(а) Aliance - 20.2.2013, 12:42 Присоединённый файл ( Кол-во скачиваний: 0 )
Таблица.jpg 45,52 Kb |
||||||
|
|||||||
| Aliance |
|
||||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
А что мешает помещать форму внутрь каждого td свою? ИД - уникальный идентификатор, как он может быть одинаковый по логике подумай.
что-то новенькое. Это что такое? У тебя получается разметка такая:
а должна быть такая:
видимо из-за этого у тебя ломается скорее всего serialize. исправляй ошибки и смотреть будем дальше. PS: а вообще такая работа это полный трешак. Почитай про MVC, выносить верстку в js это жесть. Можно посмотреть в сторону хотя бы jquery template / backbone |
||||||||
|
|||||||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Если элемент формы находится за её приделами, то его можно связать вписав form='ID формы'
Честно сама форма не так критично, её можно переделать и стили вынести. Меня больше беспокоит тот факт: Правильно ли я связал Кнопку+click+функция отправки? Отработает ли это дело, когда форма будет корректна и готова к отправке? |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
||||
|
||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Точно!) Затупил
|
|||
|
||||
| Aliance |
|
||||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
Не нужно редактировать свое первое сообщение после нескольких ответов на него!
Во-первых, зашедшему первый раз в тему человеку будет ничего не понятно. Во-вторых и мне самому (как человеку, отвечающему в этой теме) уже не совсем вспоминается что была за проблема, что исправлено и так далее. В общем так делать не правильно. В итоге ты только больше запутал меня и я сейчас потерял нить того, на каком этапе ты находишься и в чем нужна помощь. Кроме того, если уж редактируешь сообщение, смотри чтобы оно не вылезало за пределы верстки. Для этого разбивай длинные строки пробелами. Добавлено через 3 минуты и 23 секунды По сабжу, ты видимо слабо ориентируешься в DOM manipulation. После всей твоих append советую сделать html() и посмотреть что получилось. Намекаю: если ты делаешь
и ожидаешь получить
то это не так, ты получишь по факту
Для правильной работы нужно делать так:
|
||||||||
|
|||||||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
построение как раз то нормальное.
Вида: <table> <tr> <td></td> <td></td> <td></td> <td>с элементами формы</td> </tr> <tr> <td></td> ... </table> Со структурой и построением элементов у меня всё нормально, можете не сомневаться. Проблема с технической стороны. И в частности с отправкой данных. И вопрос на этом строился, и я вам в личку скидывал вопрос по этому поводу. Не могу осмыслить, как подать функции (которая отсылает данные на сервер) нужный ID формы (с условием что у каждого <tr> она уникальна) |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
Ну то, что оно работает - это странно и возможно работать не будет в дальнейшем, я бы все же переписал "правильнее". Но хозяин барин.
По поводу лички, повторяюсь - я там даже не читаю вопросы связанные с программированием, для этого есть форум. Вот представь ситуацию, зайдет на форум опльзователь с аналогичной проблемой, а прочитать ее не сможет - потому что автор скинул ее в личку, там же и решение. Нужно все писать публично, на то он и форум. Если нужно из элемента формы получить ее ID, то можно вот так:
Только до конца не понимаю зачем оно нужно? Для callback`а какого-то? И еще, как выглядит ID формы? Судя по коду он начинается с нуля, а это не правильно. ID не может начинаться с цифры или спец. символа. |
|||
|
||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Это да! С нуля! Косяк мой) Ну даже предположим не с нуля а с "D". И того id = D1225 например
А нужно инициализировать ID, что бы функция (добавленная в посте) приняла данные из той формы, в которой была нажата КНОПКА. Потом сериализовала и отправила на сервер для занесения в БД. А вставить эту инициализацию надо в место где я указал) (см. ниже)
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
|
|||
|
||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Не хочет идентифицировать) Только отправляет в строке поиска ...rule_status=0&cam_gr_id=12&group_id=25
Странно) Не получается получить данные из формы и сериализовать их Получается, что функция не видит данных формы и самой формы (или форма не видит). И отсылает данные просто "вникуда" Если выставить async: false, то данные всё таки доходят до сервера и меняются, но при этом вся страница обновляется и в строке опять же появляется ...rule_status=0&cam_gr_id=12&group_id=25. По хорошему хотелось бы избежать подобного (что бы страница не обновлялась и окно соответственно не исчезало) Но как? Вопрос конечно занимательный) Может ли быть проблема в том, что действие происходит в сформированном диалоговом окне? Это сообщение отредактировал(а) Jops - 21.2.2013, 07:44 |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
Попробуй прервать стандартное поведение браузера:
|
|||
|
||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Попробую. В личку больше не пишу)
|
|||
|
||||
| Jops |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Огромное спасибо! Выручили, как никогда) И ещё один момент. В общих чертах объясните как обновить это диалоговое окно, что бы результат поменятся визуально, а то приходится обновлять страницу
Или лучше закрыть диалоговое окно и обновить страницу. Правда условие такого, что у него нет уникального ID и не очень понятно как его обнаружить. Через this не получается
Вот такого вида наверное должно быть? Просто ещё дело в том, что после применения результата я закрываю окно. Не обновляя страницу, его вновь открываю, но данные отражаются старые, хотя в FireBag показанно, что функции подгрузили изменённые данные. Только обновив страницу вручную, результат отразится новый Если использовать чисто перегруз:
То не очень подходит, так как он кидает на главную страницу, а надо, как вы понимаете, на туже да и плюс ещё окно вернуль с новыми данными Можно было бы привязать
Но опять же нет ID ) Это сообщение отредактировал(а) Jops - 22.2.2013, 09:39 |
||||||
|
|||||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 7 Всего: 137 |
Что касается jquery ui dialog, то там должна работа вестись одним из следующих образов:
1)
2)
Что касается наполнения таблицы данными и перезагрузки страницы. Конечно никакой перезагрузки быть не должно, иначе какой смысл в ajax`е? Видимо, что-то не так делаешь. Я так понимаю наполнение идет в функции func_cams_groups? Покажи ее. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |