Помогите разобраться с jquery

12
J
На сайте с 08.06.2006
Offline
844
758

Есть форма

 <form method="post" class="goodsImportForm" data-imported="1" class="uk-form">

<input type="hidden" name="categoryID" id='importCategoryId' value="<?php echo $_GET["categoryID"]; ?>">
<input type="hidden" name="allGoods" value="<?php echo htmlspecialchars(json_encode($goods)); ?>">
<input type="hidden" name="action" value="importGoods">
<input type="hidden" name="offer_id" value="<?php echo $_GET["offer_id"]; ?>">
<input type="submit" class="uk-button uk-button-success uk-text-contrast uk-margin-bottom uk-margin-top" value="<?php echo __("Импортировать выделенные товары", "admGoods"); ?>">

Не могу понять какому пхп скрипту по нажатию на кнопку "Импортировать выделенные товары" передаются данные формы на обработку?

ДП
На сайте с 23.11.2009
Offline
203
#1

Если там аякс - то надо адрес искать в javascript'ах.

Если обычная форма - то передаются по адресу текущей страницы, только методом post, судя по коду.

anotherbird
На сайте с 04.03.2016
Offline
41
#2

ищи

$('.uk-form').on('click', function(){

$post\ajax('тут будет урл, куда шлётся запрос'

})

ДП
На сайте с 23.11.2009
Offline
203
#3

там, кстати, два атрибута class у form прописаны.

А так вспомнил еще вариант - это в средствах разработчика во вкладке network посмотреть, куда запрос отправлен.

Александр И
На сайте с 20.11.2016
Offline
24
#4

Открываем страницу, на которой будет отправлена форма.

После полной загрузки страницы открываем инструменты разработчика в Google Chrome (нажать F12) - Вкладка Network (Сеть) - ставим галочку возле Preserve log (не очищать лог).

Отправляем форму.

В журнале появляются все запросы к сети.

Прокручиваем к первому или фильтруем по методу отправки (POST).

Это и будет скрипт, который обрабатывает форму.

Там же, можно включить показ колонки Initiator (инициатор) и увидеть какой именно скрипт и на какой строке инициировал отправку формы.

Если форма отправляется посредством JS, запрос может также дублироваться во вкладке Console (консоль).

J
На сайте с 08.06.2006
Offline
844
#5
Александр И:
Это и будет скрипт, который обрабатывает форму.

http://site.ru/wp-admin/admin-ajax.php

Александр И:
Initiator (инициатор)

http://site.ru/wp-admin/admin-ajax.php

@ load-scripts.php?c=1&load[]=sack,jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-wi

---------- Добавлено 16.12.2016 в 11:21 ----------

Дикий пионер:
надо адрес искать в javascript'ах.

вот вроде тот кусок, который обрабатывает форму

  $("body").on("submit", ".goodsImportForm", function () {

var $form = $(this);
$(".importDia").dialog({
'dialogClass': 'wp-dialog',
'modal': true,
'autoOpen': true,
'closeOnEscape': false,
"beforeClose": function () {
return $form.data("imported") == 1;
}
});
compileChanges();
restartedAjax(ajaxurl, $form.serialize(), function () {
$form.data("imported", 1);
$(".importDia").dialog("close");
alert("<?php _e("Товары импортированы", "admitadGoods"); ?>");
})
return false;
});

ну как минимум после загрузки я вижу окно с ""Товары импортированы""

ДП
На сайте с 23.11.2009
Offline
203
#6

после compileChanges(); добавьте

console.log('form action',ajaxurl);

отправьте форму с открытыми средствами разработчика - вам в консоли напишет адрес, на который она отправляется.

Александр И
На сайте с 20.11.2016
Offline
24
#7
joost:
http://site.ru/wp-admin/admin-ajax.php

Значит обработку формы обрабатывает WP AJAX.

Надо найти регистрацию обработчика в исходном коде плагина, который отвечает за эту форму.

Вы знаете плагин, который отвечает за вывод/обработку данной формы или это пытаетесь выяснить?

J
На сайте с 08.06.2006
Offline
844
#8
Дикий пионер:
адрес, на который она отправляется

form action /wp-admin/admin-ajax.php

---------- Добавлено 16.12.2016 в 13:13 ----------

Александр И:
Вы знаете плагин, который отвечает за вывод/обработку данной формы или это пытаетесь выяснить?

знаю

как найти? что искать?

---------- Добавлено 16.12.2016 в 13:19 ----------

add_action("wp_ajax_importGoods", array ($this, "importGoods"));

то?

да оно

этот момент понял - куда идет на обработку

а как бы еще определить полное содержание $_POST

чтобы видеть все что передается

S
На сайте с 30.09.2016
Offline
469
#9
joost:
а как бы еще определить полное содержание $_POST чтобы видеть все что передается

В самом начале того файла, куда передаётся

print_r($_POST);die;
Если из-за аякса так не прокатит - тогда вместо этого кода - код записи в файл. Или перехватывать из javascript перед отправкой.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
J
На сайте с 08.06.2006
Offline
844
#10
Sitealert:
перехватывать из javascript перед отправкой

как сделать?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий