Mr. Bot 26 Опубликовано: 4 августа 2020 Рассказать Опубликовано: 4 августа 2020 Здравствуйте. Есть задача передавать штатным формам DLE новые определённые скрытые input, делать это нужно из подключаемого JS файла. Пробовал делать так: $('<input type="hidden" name="input_1" value="12345" />').appendTo('#sendmail'); formData.append('input_1', '12345'); Ни один из способов не приводит к тому что отправка формы передавала бы input_1 со значением 12345. В тонкостях JS не силён, возможно кто то подскажет как сделать без правки dle_js.js. @celsoft , это вообще возможно или formData, применяемая в DLE, так не умеет? Цитата Ссылка на сообщение Поделиться на других сайтах
crafic 32 Опубликовано: 4 августа 2020 Рассказать Опубликовано: 4 августа 2020 (изменено) $('<input type="hidden" name="input_1" value="12345" />').appendTo('#sendmail'); етот должен сработать. надо вызвать его в самом низу страници. а второй ясное дело что не будет работать. где вы обьявили формдата Изменено 4 августа 2020 пользователем crafic Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 4 августа 2020 Рассказать Опубликовано: 4 августа 2020 Автор 1 час назад, crafic сказал: $('<input type="hidden" name="input_1" value="12345" />').appendTo('#sendmail'); етот должен сработать. надо вызвать его в самом низу страници. а второй ясное дело что не будет работать. где вы обьявили формдата Вы думаете я не пробовал? В DOM он добавляется, но при отправки формы, данного поля нет в отправляемых данных. Цитата Ссылка на сообщение Поделиться на других сайтах
alukardua 27 Опубликовано: 4 августа 2020 Рассказать Опубликовано: 4 августа 2020 52 минуты назад, Mr. Bot сказал: Вы думаете я не пробовал? В DOM он добавляется, но при отправки формы, данного поля нет в отправляемых данных. А вы прописали инпут в логику скрипта для обработки его? Если например <input type="hidden" name="input_1" value="12345" /> и имя input_1 не прописано в обработку кнопки submit то толку от того что вы создаете этот инпут не будет Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 4 августа 2020 Рассказать Опубликовано: 4 августа 2020 Автор 38 минут назад, alukardua сказал: А вы прописали инпут в логику скрипта для обработки его? Если например <input type="hidden" name="input_1" value="12345" /> и имя input_1 не прописано в обработку кнопки submit то толку от того что вы создаете этот инпут не будет Мы вкурсе про ваши познания DLE, не нужно их постоянно демонстрировать. Данная тема не для вас, вы тут всё равно не понимаете о чём речь. Цитата Ссылка на сообщение Поделиться на других сайтах
alukardua 27 Опубликовано: 4 августа 2020 Рассказать Опубликовано: 4 августа 2020 (изменено) 52 минуты назад, Mr. Bot сказал: Мы вкурсе про ваши познания DLE, не нужно их постоянно демонстрировать. Данная тема не для вас, вы тут всё равно не понимаете о чём речь. в том и дело что это не DLE. А банальный PHP и JS просто как инпут передаст данные скрипту если скрипт не знает о нем? Изменено 4 августа 2020 пользователем alukardua Цитата Ссылка на сообщение Поделиться на других сайтах
crafic 32 Опубликовано: 5 августа 2020 Рассказать Опубликовано: 5 августа 2020 только что попробовал с кодом $('<input type="hidden" name="input_1" value="12345" />').appendTo('#sendmail'); все работает. https://skr.sh/s3Vt07OnIg1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 082 Опубликовано: 5 августа 2020 Рассказать Опубликовано: 5 августа 2020 Просто автор топика подумал что если в форму добавить поле, то оно каким то магическим образом будет уже обрабатываться на стороне сервера PHP скриптом. Непонятно конечно с чего бы это если о наличии какого то поля с произвольным именем DLE не знает и знать не может в принципе. Для обработки своего поля с произвольным именем нужно писать еще и серверный код на PHP который будет принимать его, и делать с ним необходимые действия. А вообще конечно достаточно просто прочитать документацию по обратной связи, т.к. в DLE есть функция дополнительных полей для обратной связи https://dle-news.ru/extras/online/index.html?all27.html Цитата <input placeholder="Ваш номер телефона" type="text" name="xfield[tel]"> где tel это уникальное имя дополнительного поля, а в шаблоне e-mail сообщений в админпанели размещаете тег: {%tel%}, после чего заполненный пользователем номер телефона будет также присылаться вместе с сообщением. Допускается использование любого количества дополнительных полей. Вы также можете в обратной связи прикреплённые к письмам файлы. Для этого в настройках групп можете задать для каждой группы пользователей разрешено ли им прикреплять к письмам файлы. Также можете указать сколько максимально файлов они могут приложить к письму, их максимальный суммарный размер, а также какие типы расширений файлов, которые они могут отправлять. Только вот имена полей это важная часть чтобы DLE корректно принял и обработал ваше произвольное поле. Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 8 августа 2020 Рассказать Опубликовано: 8 августа 2020 (изменено) Автор В 05.08.2020 в 18:03, celsoft сказал: Просто автор топика подумал что если в форму добавить поле, то оно каким то магическим образом будет уже обрабатываться на стороне сервера PHP скриптом. Непонятно конечно с чего бы это если о наличии какого то поля с произвольным именем DLE не знает и знать не может в принципе. Для обработки своего поля с произвольным именем нужно писать еще и серверный код на PHP который будет принимать его, и делать с ним необходимые действия. Просто вы как всегда додумываете и искажаете то что написал автор топика. Где мной было указано что то про обработку формы PHP кодом? А было там указано только: В 04.08.2020 в 20:05, Mr. Bot сказал: Ни один из способов не приводит к тому что отправка формы передавала бы input_1 со значением 12345. Может уже хватит отвечать про тёплое, когда спросили про мягкое? Чуть выше я отвечал crafic, о том что в DOM поле появляется, однако при срабатывании отправки формы, данные поля обработчику не передаются, как будто бы их нет в форме. Попробуйте сами добавить динамический input в форму обратной связи, и посмотреть что в итоге отправится обработчику. В 05.08.2020 в 16:46, crafic сказал: только что попробовал с кодом $('<input type="hidden" name="input_1" value="12345" />').appendTo('#sendmail'); все работает. https://skr.sh/s3Vt07OnIg1 Хм, возможно у меня не работает потому что данное поле добавляется из JS функции? Хотя вроде и без функции пробовал. Изменено 8 августа 2020 пользователем Mr. Bot Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 8 августа 2020 Рассказать Опубликовано: 8 августа 2020 Автор В проблеме разобрался, немного неправильно вызывал динамическое добавление input в обёртке. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.