Javascript.RU

Голосование: Кто я
Опции опроса
Кто я

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2016, 14:28
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

панель управления помогите новичку с AJAX-ом
Доброго здравия! Помогите, старшие братья, сломал головушку!

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

Идея проста:
1. добился отправки аяксом данных
2. уже могу обработать и записать в базу
3. нужно получать данные обратно в форму после их обработки (там кое-что выправляется, удаляются ошибки в тексте и пр.)

Подскажите как оформить функцию отправки данных в поля формы обратно.

Последний раз редактировалось Pupkins, 18.04.2016 в 14:50.
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2016, 15:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Pupkins
Подскажите как оформить функцию отправки данных в поля формы обратно
Не надо никаких функций, данные формы же отправляются как ключ (имя поля формы) => значение. Приняв, проверив, что-то исправив, отправляем назад полученный массив в JSON формате, который на клиенте преобразовывается в объект и проходом в цикле помещается в соответствующее поле.

Только вот клиенту как раз возвращают не форму, да и не данные, а ошибки допущенные при вводе их, для каждого поля, в котором они обнаружены.
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2016, 17:11
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

Сообщение от laimas
отправляем назад полученный массив в JSON формате
Спасибо, но вот как это сделать я голову и сломал.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2016, 17:21
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

Сообщение от laimas
Не надо никаких функций
Как же не надо? Вот у меня есть функция по приему данных по кнопке "отправить":

<script>
            function AjaxFormRequest(result_id,form_id,url) {
                jQuery.ajax({
                    url:     url,
                    type:     "POST",
                    dataType: "html",
                    data: jQuery("#"+form_id).serialize(),
                    success: function(response) {
                    document.getElementById(result_id).innerHTML = response;
                },
                error: function(response) {
                document.getElementById(result_id).innerHTML = "Ошибка при отправке формы";
                }
             });
            // return false;
        }
</script>


Данные обрабатываю и пишу в базу (если что-то не по-моему, выдаю требования в диве "result_id").

Теперь нужно эти обработанные данные послать как-то обратно на ту страницу, с которой были посланы и присвоить(заменить) их в соответствующих полях. Принимаю POST-ом потому что JSON для меня - темный лес.
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2016, 17:35
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

Сообщение от laimas
клиенту как раз возвращают не форму, да и не данные, а ошибки
Это своего рода панель управления сайтом. Клиент (я) пишу текст, отправляю его, он подправляется, я думаю, дописываю, отправляю и так до бесконечности))

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

1. Обрабатываться в php
2. Записываться в базу в php
3. Читаться из базы в php
4. показываться при помощи яваскрипт

.... начинаю догадываться что яваскрипт этого не может.

Последний раз редактировалось Pupkins, 18.04.2016 в 17:54.
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2016, 18:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Pupkins
Как же не надо? Вот у меня есть функция по приему данных по кнопке "отправить":
А у нее уже готовый метод success, где и нужно получать ответ сервера и обрабатывать его.

Сообщение от Pupkins
Это своего рода панель управления сайтом. Клиент (я) пишу текст, отправляю его, он подправляется, я думаю, дописываю, отправляю и так до бесконечности))

Вряд ли написание текста до бесконечности можно назвать управлением сайта, это скорее его наполнение. Тем более если речь идет о тексте, то что же там сервер должен исправлять, грамматические ошибки?

База данных не только хранит их, но еще и определяет их тип, обязательность или нет. На основе этих типов и проверяются пришедшие данные - должны соответствовать ожидаемому типу, поля формы обязательных данных должны быть заполнены.

HTML5 добавляет новые возможности форме - проверку на заполнение обязательных к заполнению полей и скриптов для этого никаких писать не надо, введенное в поле значение может проверять по рег. выражению и скриптов для этого никаких писать не надо, и др.

То есть на этапе отправки формы уже что-то может проверить клиент, а то что не доступно к проверке на клиенте или же это удобнее сделать на сервере, проверяется на нем, и об ошибках сообщается пользователю. А уж пользователь их исправляет, и так пока смерть не разлучит их.

Откуда знать серверу, что я хочу написать именно "учет", а не "учел", на что он исправил? Я конечно не знаю, чего вы там за клиента решаете и правите, но это вряд ли целесообразно, если вы только не пишите "искусственный интеллект".

Сперва определитесь База -> данные -> представление данных -> добавление и редактирование данных, а уж затем можно определяться с JSON или может с иным.
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2016, 19:44
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

Сообщение от laimas
если вы только не пишите "искусственный интеллект"
Спасибо, так и есть. Вот, к примеру, многие после точки не ставят пробел, или вставляют запрещенные символы, Капитализируют жутко заголовки и прочее. Здесь справится только мой вновь созданный искусственный разум.

Всё это уже работает по старинке с перезагрузкой страницы, но я очень хочу изучить AJAX, и есть прекрасный повод экспериментировать на рабочей модели самописной панели.

По старинке там все очень просто:
1. Страница загружаясь вновь читает POST
2. Скрипт в начале страницы обрабатывает этот пост
3. Затем пишет в бд
4. Далее на странице идет чтение из бд
5. И вывод опять в форму исправленных(обновленных) данных.

Всё просто в один клик.

Но мне хочется использовать чудеса AJAX и вот пункт 5 я не могу реализовать, не хватает знаний. Может кто нибудь уже так делал и поделится? Спасибо за понимание.

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

Последний раз редактировалось Pupkins, 18.04.2016 в 22:53.
Ответить с цитированием
  #8 (permalink)  
Старый 18.04.2016, 22:57
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

Вот нашел одну идею, это можно было бы использовать:

<!-- это кусок моей формы -->
<input id="t" name="t" value="<?= $t ?>" type="text" >

<!-- это скрипт, который должен менять её value -->
<script>
$('#t').val('новое значение');
</script>


только она не работает
Ответить с цитированием
  #9 (permalink)  
Старый 19.04.2016, 06:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Э батенька, да вы еще и с пояснением запутались.

Сначала "Пишу небольшую панельку для своего сайта", а теперь "многие после точки не ставят пробел, или вставляют запрещенные символы... Скрипт в начале страницы обрабатывает этот пост"

Пост, это здесь на форуме к примеру чего-то наваял и запостил, и да, много пользователей. А панель управления сайтом, это не править орфографию и дописывать пробелы в постах.

Более похоже на обычный прием формы от пользователя. Тогда вопрос - зачем возвращать форму пользователю, если за него все ошибки исправлены, и мало того, даже уже записано в базу?! А вы не задумываетесь о том, что возвращенное и уже записанное, это уже не добавление должно быть, а редактирование? А если так до бесконечности, то надо ли пояснять чем это чревато, если не понимать, что вторичный прием, это уже не запись в базу, а обновление?

Что касается Ajax и в свете JQ, то все просто, прочитать здесь, попробовать на примерах, не получится, со своими пробами на форум.
Ответить с цитированием
  #10 (permalink)  
Старый 19.04.2016, 09:24
Новичок на форуме
Отправить личное сообщение для Pupkins Посмотреть профиль Найти все сообщения от Pupkins
 
Регистрация: 17.04.2016
Сообщений: 8

Спасибо, что докопались до слов, а не до сути. Мы все эти мудреные слова англицкие изучали 20 лет назад, поэтому посылали постом и гетом всегда. Куём блоху, пишем свои форумы и порталы на коленке, сотен пять сайтов продали, а вот теперь захотелось своего проекту на ангуляре а мозг подсох))), надо с чего-то начинать. Вы уж не сердитесь, думал найти тут друзей по несчастью.

Кстати, получилось все сделать. Просто изначально форму нужно положить в див result_id, тогда она сама себя перезаписывает, только уже с обработанными данными.

зазипил результ для аттача (может кому пригодится свою панельку начать, чем эти цэмээски ковырять)
Вложения:
Тип файла: zip www.zip (83.5 Кб, 0 просмотров)

Последний раз редактировалось Pupkins, 19.04.2016 в 09:41.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
KeyHelp - Бесплатная панель управления сервером! KeyHelp Оффтопик 2 15.06.2016 15:13
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
панель управления при воспроизведении видео с youtube zlodiak Библиотеки/Тулкиты/Фреймворки 2 12.04.2013 11:22
Помогите плис новичку в ajax urel AJAX и COMET 6 12.01.2013 21:36
Помогите новичку с выпадающим списком interest Элементы интерфейса 5 19.05.2010 13:15