Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2016, 10:56
Аспирант
Отправить личное сообщение для Vincent Vega Посмотреть профиль Найти все сообщения от Vincent Vega
 
Регистрация: 21.02.2016
Сообщений: 53

очередной затык с обновлением определенного div
Уважаемые гуру, вопрос:

есть форма:
<form>
 <input type='text' name='one' value=''>
 //...
 <input type='submit' name='go' value='в атаку' id='add'>
</form>


отправляется $.ajax. После изменений в базе соответственно ничего не меняется, пока не перезагрузишь страницу.

на самой странице есть div типо:

<div class='article'>
  [PHP]require_once "/lib/base_one.php";[/PHP]
 </div>


В нем функция принта которая выводит на страницу код с выборкой из БД.

подскажите плиз как обновить
<div class='article'></div>
после отправки формы не перезагружая всю страницу?

спасибо!

P.S. и если можно, на материал по ajax технологии ссылочку с подробными объяснениями как с нм работать с примерами (как для тупо*рылых). Буду отдельное спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2016, 11:49
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Vincent Vega,
Сообщение от Vincent Vega
есть форма:
<form>
<input type='text' name='one' value=''>
 //...
 <input type='submit' name='go' value='в атаку' id='add'>
</form>

отправляется $.ajax.
А у формы нет action. Или у вас есть процедура onsubmit?
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2016, 12:17
Аспирант
Отправить личное сообщение для Vincent Vega Посмотреть профиль Найти все сообщения от Vincent Vega
 
Регистрация: 21.02.2016
Сообщений: 53

Сообщение от Dilettante_Pro Посмотреть сообщение
,

А у формы нет action. Или у вас есть процедура onsubmit?
onsubmit='послать()'
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2016, 12:27
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Vincent Vega,
Вы пишете, отправляется в ajax. А как? Стандартно данные из формы отправляются в соответствии с тем, что прописано в action формы. Если там ничего не приписано, то должна быть функция по событию submit, в которой прописывается, что делать с данными из формы. В принципе, их можно никуда и не посылать, а использовать на странице по своему усмотрению
Почитайте https://webref.ru/html/form

Последний раз редактировалось Dilettante_Pro, 03.03.2016 в 12:30.
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2016, 13:18
Аспирант
Отправить личное сообщение для Vincent Vega Посмотреть профиль Найти все сообщения от Vincent Vega
 
Регистрация: 21.02.2016
Сообщений: 53

есть php файл работающий с базой данных реализованный на singlTon.

ajax отправляет в обработчик.php к которому подключен класс validate_data.php.

var forms_data = $('form.class').serialize();
$ajax({
 type: 'POST',
 url: 'акшин.php',
 //.....,
 success:function(data){
 //... дата возвращает ответ сервера и записывает в div.ansver
 //...сюда прописать код перезагружающий определенный div
 }
});

перековырял гугл, ответов много, рабочих нет
$('div#//название').reload //(или load)()

не рабочие.

все данные отправляются нормально, ответ приходит, но результат меняется только после обновления. ответ от сервера просто строка с инфой типо: "все пучком, данные отправлены." как перезапустить php function или обновить div?

Последний раз редактировалось Vincent Vega, 03.03.2016 в 13:22.
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2016, 14:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vincent Vega
сюда прописать код перезагружающий определенный div
А что значит "перегрузить div"? Изменились данные в нем, тогда кто ими управляет? Нет, не изменились, тогда зачем перегружать?

Вы пишите в примере о получении данных для div.ansver, а перегружать нужно какой-то определенный. Какой?
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2016, 14:53
Аспирант
Отправить личное сообщение для Vincent Vega Посмотреть профиль Найти все сообщения от Vincent Vega
 
Регистрация: 21.02.2016
Сообщений: 53

Сообщение от laimas Посмотреть сообщение
А что значит "перегрузить div"? Изменились данные в нем, тогда кто ими управляет? Нет, не изменились, тогда зачем перегружать?

Вы пишите в примере о получении данных для div.ansver, а перегружать нужно какой-то определенный. Какой?
изначально в div подключается require_once "страница.php"; в ней куча форм в которых выводятся данные. страница.php не имеет html тегов, там php скрипт который обращается к базе, получает данные, генерит html вставляя данные в ячейки формы. таких форм там может быть 2 или 200+, зависит от запроса. каждая форма отправляется отдельно (у всех есть кнопки). Отправляются по уникальному id. нужно после отправки формы сделать что-то типо F5 только для div или перезапустить function php которая находиться в страница.php через js. div.ansver - отображает результат работы оброботчика.

насколько мне объяснили ранее, класс->метод() или просто function php из js запустить невозможно, остается перезагрузка div, все прекрасно работает если тупо в form action='' указать обработчик. данные отправляются, страничка перезагружается с новыми результатами, как сделать без перезагрузки всей страницы, а перезапустить только div.
Ответить с цитированием
  #8 (permalink)  
Старый 03.03.2016, 14:59
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Vincent Vega,
Все заново введенные данные у вас есть - var forms_data = $('form.class').serialize();
Можете их использовать как угодно, вам от сервера ничего не нужно, кроме положительного ответа
Ответить с цитированием
  #9 (permalink)  
Старый 03.03.2016, 15:07
Аспирант
Отправить личное сообщение для Vincent Vega Посмотреть профиль Найти все сообщения от Vincent Vega
 
Регистрация: 21.02.2016
Сообщений: 53

да.. ничего от сервера не надо. нужно просто перезапустить php скрипт в div.
он сам все сделает. или обновить div, что приведет к перезапуску php скрипта
Ответить с цитированием
  #10 (permalink)  
Старый 03.03.2016, 15:31
Аспирант
Отправить личное сообщение для Vincent Vega Посмотреть профиль Найти все сообщения от Vincent Vega
 
Регистрация: 21.02.2016
Сообщений: 53

может можно что-то типо:
$(document).ready(function(){
 // после отправки формы
 $('div.class').remove();
 var block = $('<div/>',{
  class: 'class',
  text: '<?php require_once "название.php" ?>'
  });
 $(block).appendTo('div.class2');
});


но снова таки из js php недоступен
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Показать div при наведении / jQuery updaite Элементы интерфейса 4 28.07.2014 03:45
Cookie для меню аккордион и для div Lastedl jQuery 1 03.12.2013 04:55
Проблемы с div обновлённым через (#id).load erlcat jQuery 4 03.03.2013 03:41
проблема с div И animate g00000dman jQuery 2 24.03.2011 23:34