Передача формы ajax-ом
CrazyFreeMan |
|
---|---|
Добрый день Столкнулся с проблемой (форум пролистал, решения что рекомендовали уже пробовал применить но без результата) И так Имеем последнего кота 0.9.18 Пишем плагин с использованием AJAX части Не могу передать форму POST запросом. Есть плагин что формирует ссылку которыя по клику обращается к ajax части где вызывается функция формирующая форму (подключает шаблон, заполняет все как нужно и возвращает), эта форма ajax-ом отлично подгружается нам на страницу - в ней присутствуют в се поля, без ошибок и в наличии скрытый x=sdfgsdfg45yrbhrgh заполняем/изменяем форму - жму отправить (снова же все ajax-ом) и получаю ошибку 403 forbidden, покопавшись на форуме и методом подбора добавив в action формы x=$sys['xk'] форма отправляется но без данных, т.е. первый раз так же не принималась она из-за отсутствия параметра "x" и получал я 403. Вот код (упрощенный но логика та же) hook=ajax if (COT_AJAX) { $id = cot_import('id', 'G', 'INT'); // передаем по ссылке require_once cot_incfile('plugname', 'plug'); echo cot_plugname_edit_form($id); } plugname.functions.php function cot_plugname_edit_form($id){ global $db, $sys, $L, $db_name; $ed = new XTemplate(cot_tplfile('pluginname', 'plug', true)); $ror = $db->query("SELECT * FROM $db_name")->fetch(); $ed->assign(array( "OFFER_FORM_ID" => $ror['id'], "OFFER_FORM_ACTION_URL" => cot_url('index', 'r=pluginname&a=save&id='.$id), )); $ed->parse('MAIN'); return $ed->text('MAIN'); пробовал и просто $ed->out('MAIN'); } Что еще нужно знать? Спасибо |
|
This post was edited by Ярослав Романенко (2015-04-20 18:42, 9 years ago) |
Dr2005alex |
|
---|---|
А tpl файл? Хотя вообще проблема в доступе... WebKaa.ru - Cotonti Relax
|
|
This post was edited by Dr2005alex (2015-04-20 18:57, 9 years ago) |
CrazyFreeMan |
|
---|---|
Форма довольно банальная <!-- BEGIN: MAIN --> <div class="customform well"> <form action="{OFFER_FORM_ACTION_URL}" method="post" enctype="multipart/form-data" class="ajax post-ofad{OFFER_FORM_ID}"> <table class="table"> <tr> <td align="left"></td> <td> <div class="pull-right"> <input type="submit" name="submit" class="btn btn-success" value="{PHP.L.Save}" /> </div> </td> </tr> </table> </form> </div> <!-- END: MAIN -->
|
Dr2005alex |
|
---|---|
1) нет id формы 2) post-ofad{OFFER_FORM_ID} - это указатель куда вывести результат выполнения. Т.е. результат должен выводится в див с id = fad{OFFER_FORM_ID} Т.е. я вижу не правильное применение AjaxHelpers. ПРимер для вариации <!-- BEGIN: MAIN --> <div class = "customform well" > <form action= "{OFFER_FORM_ACTION_URL}" method= "post" enctype= "multipart/form-data" class = "ajax post-outdiv{OFFER_FORM_ID}" id = " ofad{OFFER_FORM_ID}"> <table class = "table" > <tr> <td align= "left" ></td> <td> <div class = "pull-right" > <input type= "submit" name= "submit" class = "btn btn-success" value= "{PHP.L.Save}" /> </div> </td> </tr> </table> </form> </div> <div id=" outdiv{OFFER_FORM_ID}"></div> <!-- END : MAIN --> Добавлено 8 минут спустя: Накидал пример работы с формой. http://www.cotonti.com/datas/users/world_84.rar плагин для теста. WebKaa.ru - Cotonti Relax
|
|
This post was edited by Dr2005alex (2015-04-20 19:34, 9 years ago) |
CrazyFreeMan |
|
---|---|
ИД есть, он просто на странице генерируется до аякса (все работает если гетом передавать). Спасибо, разберу по букве, может что найду Додано 12 хвилин потому: Ппц, просто добавь воды, да, нужно было добавить ИД для формы которую отправляем Ой как стыдно, спасибо за потрачено время, надеюсь кому-то еще поможет :) |
|
This post was edited by Ярослав Романенко (2015-04-20 19:54, 9 years ago) |
Dr2005alex |
|
---|---|
Что и говорил!!! WebKaa.ru - Cotonti Relax
|
Виктор |
|
---|---|
Подскажите как вывести подгружаемую форму в модальном окне () в бутстрап по умолчанию display: none; и при клике по ссылке, не работает? Додано 25 хвилин потому: в общем если кому пригодится нашел решение https://jsfiddle.net/ednon5d1/ |
|
This post was edited by Виктор (2019-12-18 13:42, 5 years ago) |