Передача формы 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');
}
Что еще нужно знать? Спасибо Dit bericht is bewerkt door Ярослав Романенко (2015-04-20 18:42, 10 jaren ago) |
| Dr2005alex |
|
|---|---|
|
А tpl файл? Хотя вообще проблема в доступе... WebKaa.ru - Cotonti Relax
Dit bericht is bewerkt door Dr2005alex (2015-04-20 18:57, 10 jaren 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
Dit bericht is bewerkt door Dr2005alex (2015-04-20 19:34, 10 jaren ago) |
| CrazyFreeMan |
|
|---|---|
|
ИД есть, он просто на странице генерируется до аякса (все работает если гетом передавать). Спасибо, разберу по букве, может что найду Додано 12 хвилин потому: Ппц, просто добавь воды, да, нужно было добавить ИД для формы которую отправляем Ой как стыдно, спасибо за потрачено время, надеюсь кому-то еще поможет :) Dit bericht is bewerkt door Ярослав Романенко (2015-04-20 19:54, 10 jaren ago) |
| Dr2005alex |
|
|---|---|
Что и говорил!!! WebKaa.ru - Cotonti Relax
|
| Виктор |
|
|---|---|
Подскажите как вывести подгружаемую форму в модальном окне () в бутстрап по умолчанию display: none; и при клике по ссылке, не работает? Додано 25 хвилин потому: в общем если кому пригодится нашел решение https://jsfiddle.net/ednon5d1/Dit bericht is bewerkt door Виктор (2019-12-18 13:42, 5 jaren ago) |