Dram

Рейтинг
1114
Регистрация
28.06.2008

ivan-lev, у меня запрос реализован так

$.post(
'test.php', // адрес обработчика
$("#my_form").serialize(), // отправляемы е данные

И я к сожалению не знаю как сюда присобачить dataType: 'json',

Попробовав сначала менять целиком таблицу увяз в синтаксисе пхп.

Чтобы присвоить переменной кучу хтмл кода в котором так же есть пхп... короче увяз и бросил.

Решение с массивом более красивое и быстрое оказалось.

Только теперь все же не могу врубиться как вывести данные...

Сейчас у меня так

            function(msg) { 

for(prop in JSON.parse(msg)) {
console.log(prop);
$('#my_message'+prop).html(msg.prop);
}
}

НИже формы есть див

<div id="my_messageName"></div>

console.log(prop); сообщает что есть элемент в названием Name - но туда ничего не выводится

Sitealert, выдает - undefined

Сори за тупые вопросы, с JS впервые разбираюсь.

Итак собрал я все переменные в массив json, проверил, обратно он приходит в ответе.

Теперь как советовал ivan-lev хочу пройтись по нему циклом и сформировать дивы для вставки в разные части таблицы.

Как это сделать - так?

            function(msg) { // получен ответ сервера
console.log(JSON.parse(msg));
for(prop in JSON.parse(msg)) {
$('#my_message'+prop).html(msg.prop);
}
// $('#my_message').html(msg);
}

Как теперь понять какой $('#my_message'+prop).html(msg.prop); какую переменную содержит?

---------- Добавлено 18.04.2020 в 11:44 ----------

Вроде бы

<div id="my_messageName"></div>
и т.д. согласно элементам массива, но попробовал вывести этот див - а он пустой...

а

console.log(msg.prop);
выдает - undefined

ivan-lev, спасибо! Мне кажется первый вариант идеально бы подошел в плане того, что переделывать меньше придется.

В итоге всю таблицу и все что ниже присвоить одной переменной?

И уже ее выводить?

Изначально юзер видит просто форму с двумя полями.

В них он вводит по два слова, которые запрашиваются в базу и возвращают массивы с которыми я дальше работаю.

Один из эти подмассивов вызывает еще каскад запросов в базу и на выходе у меня с десяток переменных, а то и больше не считал.

Т.е. ушло со страницы 1 пост запрос с двумя переменными, а вернуть и разместить в разных местах (в таблице) нужно 10-20 переменных. Вот я и не пойму как это сделать.

Сейчас да - я разделил скрипт на две части

1. просто форма и JS код, отправляющий данные из формы пхп скрипту.

2. пхп скрипт с логикой.

непонятно как много переменных из логики обратно вернуть на страницу отдельными частями ?

---------- Добавлено 18.04.2020 в 09:50 ----------

Наверное мне в пхп скрипте где логика в самом низу нужно собрать все переменные в ассоциативный массив и передать обратно на страницу с формой в виде JSON ?

onep, огромное спасибо! Все заработало!

Большое спасибо за помощь, все заработало!

Если позволите - последний вопрос - как эту функцию натравить на второй инпут?

Как в нее еще один ID инпута добавить?

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

Чтобы я не вводил автокомплит всегда выдает 15 результатов из нужной таблицы начиная с id = 1

---------- Добавлено 17.04.2020 в 10:04 ----------

ivan-lev, тоже самое - выдает тупо 15 результатов начиная с id 1

onep, а как в ваш последний пример корректно вставить?

jQuery.ajax({
'type': 'GET',
'url': '/index.php',
'dataType': 'json',
'data': {
'option': 'com_form',
'view': 'item',
'format': 'json',
'task': 'search',
'name': name
},

И еще вопрос - трижды встречающееся #search - это id инпута?

Всего: 6924