Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Не работает параметр form тэга input |
Что касается web-а... WebMaster-а Воронежа - объединяйтесь! |
|
Опции темы |
16.10.2014, 18:14 | #1 | |||
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Не работает параметр form тэга input
Господа, есть задача, для реализации которой, на первый взгляд, необходимо создать вложенную форму
Цитата:
Я попытался реализовать это на практике - не работает. Вот, посмотрите - так работает: Цитата:
Цитата:
Последний раз редактировалось Eвгений; 16.10.2014 в 18:47. |
|||
16.10.2014, 19:30 | #3 | |
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
anadonam,
А думать не надо, надо читать топикстартера Цитата:
|
|
16.10.2014, 19:34 | #4 |
blocked
|
вот и подумал , зачем загрузку фотографий делать отдельной формой ?
ведь тут всего лишь заполняется данными элемент формы а вариант не работать может так как у тебя браузер не попадает в перечень работающих с этим вариантом - ну к примеру Internet Explorer 10 Chrome 9 Opera 10 Safari 5 Firefox 4 Android iOS |
16.10.2014, 19:50 | #5 | |
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
вообще да... как выяснилось в IE это не работает в принципе. У меня 11 версия.
Цитата:
Это гибрид ЭТОГО и ЭТОГО, то есть как реализовать это я не спрашиваю. Проблема в том, что когда комбинируешь загрузку картинок с текстовыми полями, отправка которых на сервер осуществляется другой, "окончательной" кнопкой, тэги FORM нельзя сделать невложенными. Если кто знает как - подскажите. Или может я чего подзабыл - я 7 лет уже не занимаюсь вэбом. |
|
16.10.2014, 21:53 | #8 | |
highly mean
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35
Не в сети |
Я не утверждал, что это единственная ошибка…
Цитата:
|
|
18.10.2014, 18:11 | #9 | |
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Практически решил проблему, нашел как создать динамическую форму.
Только вот не могу запрос AJAX под новое решение адаптировать. Данные (картинка для загрузки) в AJAX передаются так: Цитата:
По крайней мере alert(e.childNodes[1].id) выдает правильное имя. Простая замена $('#mainForm')[0] на e.childNodes[1] результата не дает. Как правильно сделать? |
|
18.10.2014, 20:35 | #11 | ||
RockStar
Сообщений: 396
Регистрация: 18.10.2007
Не в сети |
Автор, а что если тебе в качестве события использовать не отправку формы, а клик по кнопке
Цитата:
Цитата:
|
||
19.10.2014, 00:25 | #12 | |
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Serezhka,
не работает так как ты указал. Вот это Цитата:
То есть скрипт вызывается и выполняется, но скрипту обработчику AJAX запроса попадает лажа. Пока что у меня работает следующее - сделал основную форму динамической, а ту, где AJAX загрузка картинки, обычную, тэгом <form>. Последний раз редактировалось Eвгений; 19.10.2014 в 01:01. |
|
19.10.2014, 01:09 | #13 | |
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
В общем вышло то что я и хотел - никаких полей никаких кнопок загрузить - есть картинка с изображением папки, жмешь на нее, открывается диалог выбора файла, как только файл выбирается, автоматом грузится на сервер, а с сервера приходит его уменьшенная копия, которая вставляется вместо иконки с папкой. То есть, куда нажал, там и получил картинку:
Цитата:
Ну или как вариант, сделать так чтобы по выбору файла не жалась невидимая кнопка, а сразу отправлялась форма? onclick="mainForm.submit()" - работает неправильно, скрипт не ловит событие submit и upload_recipe_images.php вызывается самостоятельно |
|
21.10.2014, 18:23 | #14 | ||
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Продолжаю мучить вопросами (предыдущий решен)
Цитата:
Цитата:
Немаловажная деталь - этот инпут скрыт : style="display:none" Если я убираю style="display:none", то диалог выбора файла при нажатии на картинку открывается. Что делать? |
||
21.10.2014, 23:06 | #15 |
RockStar
Сообщений: 396
Регистрация: 18.10.2007
Не в сети |
Eвгений, ты очень мощно намутил.
Тебе проще через CSS сделать скрытый инпут поверх этой картинки, размером с эту картинку. Чтобы чел тыкая в картинку попадал просто по инпуту. Тогда тебе этой жесточайшей конструкции из parentNode и прочего не понадобится. |
22.10.2014, 06:12 | #16 | |
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Serezhka,
Цитата:
У меня динамическое создание элементов для ввода картинок. То есть нажал кнопку - появились еще инпуты, нажал другую кнопку, инпуты удалились. Вначале у меня вновь добавленные инпуты и формы получали id с номерами. Пришлось вносить в AJAX запрос изменения, чтобы он понимал, какая форма его вызвала и результат отправлял в соответствующую форму. Но когда я стал делать кнопки для удаления элементов ввода картинки, пришлось предусматривать пересчет номеров идентификаторов для соранения непрерывной нумерации. Поняв, какая каша получится, я решил уйти от id (если их в приведенном коде удалить, элементы останутся работоспособными) и оперировать исключительно с элементами дерева, возложив задачу по получению ссылок на элементы на javascript. Код стал проще в разы. Спасибо за внимание к проблеме и альтернативное предложение, но оно не подойдет. В настоящее время суть проблемы сводится к вопросу - почему style="display:none" в google chrome делает неработоспособной input ? Я кстати упрощал код донельзя в отдельном файле для чистоты эксперимента - результат тот же. |
|
22.10.2014, 15:35 | #17 | |
Форумец
Сообщений: 292
Регистрация: 21.01.2011
Не в сети |
Цитата:
position: absolute; top: -100500px А чё б не воспользоваться чем-то подобным https://github.com/blueimp/jQuery-File-Upload |
|
22.10.2014, 16:41 | #18 | |
+79038594250
Сообщений: 1,493
Регистрация: 31.01.2005
Возраст: 41
Не в сети |
Цитата:
|
|
22.10.2014, 16:44 | #19 | ||
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Цитата:
Цитата:
|
||
22.10.2014, 16:51 | #20 | ||
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
Цитата:
Ты проверил "отзывчивость" инпута на клик. Я об этом уже писал: Цитата:
А я под работоспособностью понимаю еще и открытие диалога для выбора файла при нажатии на инпут. И в IE и в Chrome это работает, но если добавить display:none, Google Chrome не открывает диалог. Так что переделай свой пример и мы посмотрим. |
||
22.10.2014, 17:08 | #21 |
+79038594250
Сообщений: 1,493
Регистрация: 31.01.2005
Возраст: 41
Не в сети |
|
22.10.2014, 17:25 | #23 | |||||
Форумец
Сообщений: 6,689
Регистрация: 26.04.2006
Возраст: 44
Не в сети |
1000w,
Цитата:
Я не дерзкий, я всегда так общаюсь с теми, кто НЕ ЧИТАЕТ. Что ты не прочитал, я уже тебе показал. Цитата:
Цитата:
Цитата:
Цитата:
|
|||||