Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Submit без перезагрузки страницы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Tyoma5891
Отправлено: 27 Февраля, 2014 - 16:18:56
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




Добрый день, коллеги!

Вопрос, подскажите есть ли какой-то быстрый способ сделать так чтобы при нажатии на кнопку отправки формы страница не перегружалась, данные на сервер при этом отправляются и обрабатываются и выводятся результаты на этой же странице?
 
 Top
difight
Отправлено: 27 Февраля, 2014 - 16:26:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Tyoma5891 пишет:
Добрый день, коллеги!

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

В пхп никак, jquery ajax туда копайте, стоит один раз разобраться дальше будет проще
 
My status
 Top
Tyoma5891
Отправлено: 28 Февраля, 2014 - 14:14:58
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




Сможете подсказать какой-то ресурс хороший где грамотно описано это все:

Цитата:
В пхп никак, jquery ajax туда копайте, стоит один раз разобраться дальше будет проще
 
 Top
wh0am1
Отправлено: 28 Февраля, 2014 - 14:49:26
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Tyoma5891 пишет:
Сможете подсказать какой-то ресурс хороший где грамотно описано это все:

Цитата:
В пхп никак, jquery ajax туда копайте, стоит один раз разобраться дальше будет проще


http://jquery[dot]page2page[dot]ru/index[dot][dot][dot]0%B8%D1%86%D0%B0

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function getAjax() {
  3.    $.ajax({
  4.        url: 'page.php',
  5.        type: 'POST',
  6.        data: {
  7.             value: $('#id_name').val() // <input id="id_name">
  8.        }
  9.        success: function ( data ) { // данные отправлены, результат пришел
  10.            console.log ( data ) ; // данные которые пришли
  11.            // тут уже можно выводить пользователю инфу
  12.            $('div.info').html(data);
  13.       }
  14.    });
  15. }
  16.  
  17. # html
  18. <button onclick="getAjax(); return false;">Отправить</button>
  19.  

(Отредактировано автором: 28 Февраля, 2014 - 14:51:13)

 
 Top
Tyoma5891
Отправлено: 01 Марта, 2014 - 09:37:01
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




Что-то все равно перегружается страница, может я что не так делаю:
1)Создал файл jquery.form.js в head страницы прописал его:
<script src="js/jquery.form.js"></script>
2)В сам файл jquery.form.js поместил эту функцию:
CODE (javascript):
скопировать код в буфер обмена
  1. function getAjax() {
  2.    $.ajax({
  3.        url: 'action.php', // мой файл обработчика формы
  4.        type: 'POST',
  5.        data: {
  6.             value: $('#myForm').val() // в самой форме <form id="myForm" action="action.php" method='post'>
  7.        }
  8.        success: function ( data ) { // данные отправлены, результат пришел
  9.            console.log ( data ) ; // данные которые пришли
  10.            // тут уже можно выводить пользователю инфу
  11.            $('div.info').html(data);
  12.       }
  13.    });
  14. }


код кнопки моей:
CODE (html):
скопировать код в буфер обмена
  1.         <input type="submit" onclick="getAjax(); return false;" id="myForm" value="РАССЧИТАТЬ">

может я что-то ещё не учел?
 
 Top
Tyoma5891
Отправлено: 03 Марта, 2014 - 17:04:18
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




Вообщем вот что имею на сегодняшний день код страницы на которой форма:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!doctype html>
  3. <!--[if lte IE 8]><html class="lteie8"><![endif]-->
  4. <!--[if gt IE 8]><!--><html><!--<![endif]-->
  5. <head> 
  6.         <meta charset="utf-8">
  7.         <meta name="viewport" content="width=device-width"/>
  8.         <link rel="stylesheet" media="screen" href="css/screen.css" >
  9.         <script src="js/jquery.js"></script>
  10.         <script src="js/html5shiv.js"></script>
  11.         <script src="js/jquery.aw-showcase.min.js"></script>
  12.         <script src="js/jquery.bxslider.min.js"></script>
  13.         <script src="js/jquery.selectbox.js"></script>
  14.         <script src="js/script.js"></script>
  15.         <script src="js/jquery.form.js"></script>
  16. </head>
  17. <body>
  18. <div class="all">
  19. <div class="cont">
  20.         <header class="header">
  21.                 <div class="logo-block">
  22.                         <a href="#" class="logo"></a>
  23.                         <p class="logo-descr mp">ООО «ТехСтройСервис»</p>
  24.                 </div><!-- logo -->
  25.                 <p class="site-descr">Энергоэффективность и автоматизация</p>
  26.                 <div class="phone">
  27.                         <p class="prime"><span>8 499</span> 502-0456</p>
  28.                         <p class="sec"><span>8 495</span> 501-6762</p>
  29.                         <i></i>
  30.                 </div>
  31.                 <nav class="topmenu">
  32.                         <ul>
  33.                                 <li><a href="#"><span>Главная</span></a></li>
  34.                                 <li class="cur"><a href="#"><span>О нас</span></a></li>
  35.                                 <li><a href="#"><span>Оборудование</span></a></li>
  36.                                 <li><a href="#"><span>Услуги</span></a></li>
  37.                                 <li><a href="#"><span>Сервис</span></a></li>
  38.                                 <li><a href="#"><span>Инфо</span></a></li>
  39.                                 <li><a href="#"><span>Новости</span></a></li>
  40.                                 <li><a href="#"><span>Контакты</span></a></li>
  41.                                 <li><a href="#"><span>Прайс</span></a></li>
  42.                                 <li><a href="#"><span>"PDF"</span></a></li>
  43.                                 <li><a href="upload.html"><span>ИМПОРТ ЦЕН</span></a></li>
  44.                         </ul>
  45.                 </nav>  
  46.         </header><!--header-->
  47.        
  48.         <div class="wrap">
  49.         <div class="l-content">
  50.                 <div class="opros">
  51.                         <h1 class="h1">Форма опроса</h1>
  52.                         <form id="myForm" action="action.php" method='post'>
  53.                                 ...
  54.                                         <input type="submit" onclick="getAjax(); return false;" id="myForm" value="РАССЧИТАТЬ">
  55.                                 </div>
  56.                         </form>
  57.                        
  58.                         <!--BEGIN opros-results -->
  59.                         <div class="opros-results">
  60.                                 <h4>Результаты</h4>
  61.                                 <ul>
  62.                                         <li>
  63.                                                 <span class="lres">Оборудование "ВЗЛЕТ", при необходимости модем:       </span>
  64.                                                 <span class="rres"><?php echo $materiali_vzljot." руб."; ?></span>
  65.                                         </li>
  66.                                         <li>
  67.                                                 <span class="lres">Преобразователи давления с арматурой:</span>
  68.                                                 <span class="rres"><?php echo $materiali_davlenie." руб."; ?></span>
  69.                                         </li>
  70.                                         <li>
  71.                                                 <span class="lres">Запорная арматура:</span>
  72.                                                 <span class="rres"><?php echo $materiali_zaporka." руб."; ?></span>
  73.                                         </li>
  74.                                         <li>
  75.                                                 <span class="lres">Расходные матерaиалы (трубы, разгонные участки, расходники):</span>
  76.                                                 <span class="rres"><?php echo $materiali_rashodnie." руб."; ?></span>
  77.                                         </li>
  78.                                         <li>
  79.                                                 <span class="lres">Проектные работы:</span>
  80.                                                 <span class="rres"><?php echo $raboti_proekt." руб."; ?></span>
  81.                                         </li>
  82.                                         <li>
  83.                                                 <span class="lres">Сантехмонтажные работы:</span>
  84.                                                 <span class="rres"><?php echo $raboti_santeh." руб."; ?></span>
  85.                                         </li>
  86.                                         <li>
  87.                                                 <span class="lres">Электромонтажные работы:</span>
  88.                                                 <span class="rres"><?php echo $raboti_elektro." руб."; ?></span>
  89.                                         </li>
  90.                                         <li>
  91.                                                 <span class="lres">Работы по диспетчеризации:</span>
  92.                                                 <span class="rres"><?php echo $raboti_dispetcherizaciya." руб."; ?></span>
  93.                                         </li>
  94.                                         <li class="dgr">
  95.                                                 <span class="lres">Сумма:</span>
  96.                                                 <span class="rres"><?php echo $summa." руб."; ?></span>
  97.                                         </li>
  98.                                         <li class="dgr">
  99.                                                 <span class="lres">НДС:</span>
  100.                                                 <span class="rres"><?php echo $nds." руб."; ?></span>
  101.                                         </li>
  102.                                         <li class="last">
  103.                                                 <span class="lres">Итого:</span>
  104.                                                 <span class="rres"><?php echo $itogo." руб."; ?></span>
  105.                                         </li>
  106.                                 </ul>
  107.                         </div>
  108.                         <!--END opros-results -->
  109.                 </div><!-- main-cont -->
  110.         </div><!--l-content-->


Код запроса аякс:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function getAjax() {
  3.    $.ajax({
  4.        url: 'action.php',
  5.        type: 'POST',
  6.        data: {
  7.             value: $('#myForm').val() // <input id="id_name">
  8.        },
  9.        success: function ( data ) { // данные отправлены, результат пришел
  10.            console.log ( data ) ; // данные которые пришли
  11.            // тут уже можно выводить пользователю инфу
  12.            $('div.info').html(data);
  13.       }
  14.    });
  15. }

принцип вот в чем, заполняется форма нажимается кнопка рассчитать и нужно чтоб без перезагрузки данные расчета подставлялись в нижний контейнер и при этом текущая форма сохранялась...
Но при нажатии кнопки сейчас вообще ничего не происходит....
 
 Top
esterio
Отправлено: 03 Марта, 2014 - 17:19:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <form onsubmit="getAjax(); return false;"></form>
 
 Top
Tyoma5891
Отправлено: 03 Марта, 2014 - 19:06:09
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




esterio пишет:
CODE (html):
скопировать код в буфер обмена
  1. <form onsubmit="getAjax(); return false;"></form>

не работает...
тот же эффект ничего не изменилось...
 
 Top
IllusionMH
Отправлено: 03 Марта, 2014 - 19:20:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Tyoma5891, а что такое value (val()) у формы? Копайте в сторону serialize или serializeArray

(Отредактировано автором: 03 Марта, 2014 - 19:23:00)

 
 Top
Tyoma5891
Отправлено: 04 Марта, 2014 - 09:43:43
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




IllusionMH пишет:
Tyoma5891, а что такое value (val()) у формы? Копайте в сторону serialize или serializeArray

сделал так все равно не работает, ничего не происходит при нажатии кнопки...
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function getAjax() {
  3.    $.ajax({
  4.        url: 'action.php',
  5.        type: 'POST',
  6.        data: $('#myForm').serialize(),
  7.        success: function ( data ) { // данные отправлены, результат пришел
  8.            console.log ( data ) ; // данные которые пришли
  9.            // тут уже можно выводить пользователю инфу
  10.            $('div.info').html(data);
  11.       }
  12.    });
  13. }
 
 Top
Tyoma5891
Отправлено: 04 Марта, 2014 - 20:18:39
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




Так вообщем окончательно с этим скриптом:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function getAjax() {
  3.       var msg   = $('#myForm').serialize();
  4.         $.ajax({
  5.           type: 'POST',
  6.           url: 'action.php',
  7.           data: msg,
  8.           success: function(data) {
  9.             $('.results').html(data);
  10.           },
  11.           error:  function(xhr, str){
  12.                 alert('Возникла ошибка: ' + xhr.responseCode);
  13.             }
  14.         });
  15.  
  16.     }


Ответ от сервера приходит все отлично в том виде что мне надо в консоли это видно, но либо я туплю, либо проблема в том, что приходит то вот так
POST http://localhost/tml/action.php 200 OK 16ms тоесть приходит страница пхп обработчика action.php, а в браузере после нажатия кнопки как было так и остается http://localhost/tml/index.php и соответственно ничего не меняется на ней... как мне все таки сделать чтобы отобразилось то что приходит в консоли в браузере?
 
 Top
alexiy
Отправлено: 04 Марта, 2014 - 20:43:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




Tyoma5891 а где код самого обработчика?
 
 Top
Tyoma5891
Отправлено: 04 Марта, 2014 - 21:01:57
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




alexiy пишет:
Tyoma5891 а где код самого обработчика?

Приложил файл...

(Отредактировано автором: 05 Марта, 2014 - 14:53:46)

 
 Top
alexiy
Отправлено: 04 Марта, 2014 - 21:07:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




быстро пробежавшись не увидел чтобы где-нить был обычный echo, $('.results').html(data); теряет смысл.
 
 Top
Tyoma5891
Отправлено: 04 Марта, 2014 - 21:24:19
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




alexiy пишет:
быстро пробежавшись не увидел чтобы где-нить был обычный echo, $('.results').html(data); теряет смысл.

я немного не понял, я если верно просто инклюдю в конце файл исходный индекса и все значения подставляются в него...
echo $('.results').html(data); вместо инлкюда выдает какойто алерт после нажатия кнопки но попрежнему ничего не происходит...
что мне нужно в файле обработчика имзменить?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB