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 :: обновление блока

 PHP.SU

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


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

> Описание: Javascript
XochuZnat
Отправлено: 19 Июля, 2015 - 18:55:53
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




Приветствую Всех!
Имеется выездной блок
CODE (html):
скопировать код в буфер обмена
  1. <div class="left_panel">
  2.  
  3.         <p class="open"></p>
  4.         <jdoc:include type="modules" name="sideblock" style="xhtml" />
  5.         <p class="calc"><form action="" name="myform" method="post">
  6.    <input  class="calcus" type="text" name="sum" size="25" placeholder="Сумма">
  7.    <input class="calcus"  type="text" name="data" size="25" placeholder="На сколько месяцев?">  
  8.     <input name="Submit" type=submit value="Посчитать"> </p>
  9. </form>

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if (isset($_POST['Submit'])) {
  5.         $sum = isset($_POST['sum']) ? $_POST['sum'] : '';
  6.         $data = isset($_POST['data']) ? $_POST['data'] : '';
  7.         $vznos = $sum*30/100;
  8.         $result = ($sum-$vznos)/$data ;
  9.         ?>
  10.         Первоначальный взонс <a class="cifra"><?= $vznos;?></a> сум.<br>
  11.   Ежемесечная оплата составляет <a class="cifra"><?PHP echo ceil($result );?></a> сум<br>
  12.   В течении <a class="cifra"><?= $data ;?></a> месяцев.
  13.         <?PHP
  14. }
  15. ?>


Знатоки Javascipt, помогите пожалуйста реализовать обновление блока без полной перезагрузки страницы после вычисления! Ниндзя
 
My status
 Top
Viper
Отправлено: 19 Июля, 2015 - 23:28:42
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




XochuZnatвы расчеты куда-то на стороне сервера записываете? Если нет, то не вижу смысла вообще отсылать что-либо. Можно весь расчет на клиенте сделать.

PS! Тем более что у вас joomla и данные непойми-куда уходят на сервер.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 07:53:17
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




[quote=Viper][/quote]
А как это сделать?
 
My status
 Top
Viper
Отправлено: 20 Июля, 2015 - 11:04:56
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




XochuZnat пишет:
А как это сделать?

Получить значения формы через document[dot]getElementById() (соответственно полям формы задать id)

Все числовые значения привести к integer через parseInt().
Математика без изменений.
На submit() формы задать внутри return false; чтобы не перезагружало.

PS! По идее чтобы ещё проще было... В joomla есть jQuery. Версию joomla скажите.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 13:06:53
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




[quote=Viper][/quote]
2.5 Стоит, а можете на примере показать? Просто с Javascript вообще не дружу

Допустим как вытащить значение с формы, а затем провести математический расчет и вывести

(Отредактировано автором: 20 Июля, 2015 - 13:12:34)

 
My status
 Top
etoYA
Отправлено: 20 Июля, 2015 - 17:00:23
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




http://jsfiddle.net/9b01xuqb/

(Отредактировано автором: 20 Июля, 2015 - 17:11:59)

 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 17:04:47
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




Закомментировал PHP и написал эту крякозябру, но ничего не работает Недовольство, огорчение
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. function Submit(){
  4. var sum=document.getElementById('sum').value;
  5. var data=document.getElementById('data').value;
  6. var vznos= sum*30/100;
  7. var result= (sum-vzons)/data;
  8. document.write(result+)
  9. }
  10. </script>
  11.  

(Добавление)
etoYA пишет:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. document.forms.myform.onsubmit = function(){
  3.      var vznos = +this.sum*30/100,
  4.          result = Math.ceil((this.sum - vznos) / +this.data);
  5.      alert(result);
  6.      return false;
  7. }
  8.  

Спасибо, не заметил ваш ответ!
Вставил ваш код
CODE (javascript):
скопировать код в буфер обмена
  1.         <script>
  2. document.forms.myform.onsubmit = function(){
  3.      var vznos = +this.sum*30/100,
  4.          result = Math.ceil((this.sum - vznos) / +this.data);
  5.      alert(result);
  6.      return false;
  7. }
  8.         </script>

После нажатия на submit Выходит окошко с надписью NAN
Ссылка на сайт http://mebeluz[dot]cf/ - Калькулятор находится слева.

(Отредактировано автором: 20 Июля, 2015 - 17:12:47)

 
My status
 Top
etoYA
Отправлено: 20 Июля, 2015 - 17:12:38
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




XochuZnat, я забыл добавить value, посмотрите еще раз.
 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 17:24:47
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




etoYA пишет:
XochuZnat, я забыл добавить value, посмотрите еще раз.

После нажатия на Посчитать он обновляет страницу и результата нету Растерялся Огорчение
С PHP он тоже обновляет, но результат выводился.

(Отредактировано автором: 20 Июля, 2015 - 17:25:06)

 
My status
 Top
IllusionMH
Отправлено: 20 Июля, 2015 - 17:27:23
Post Id



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


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


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




XochuZnat, Ctrl + Shift + I или F12. Что пишет на вкладке консоль.
Подозреваю что все получения значений из текстовых полей стоит оборачивать в parseFloat или parseInt
 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 17:27:51
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




Полный код
JS Блока
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">jQuery.noConflict();</script>
  3. <script>
  4.                 jQuery(document).ready(function(){     
  5.                         /*left panel*/
  6.                         jQuery("div.left_panel p.open").toggle(function(){
  7.                                 jQuery("div.left_panel").animate({left:'230px'},500);}, function() {
  8.                                 jQuery("div.left_panel").animate({left:'-71px'},500);
  9.                         });                    
  10.                 });    
  11.         </script>
  12.  

Блок с Формой
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div class="left_panel">
  3.  
  4.         <p class="open"><p class="calc"><form action="" name="myform" method="post">
  5.    <input class="calcus" type="text" id="sum" name="sum" size="25" placeholder="Сумма"><br>
  6.    <input class="calcus"  type="text" id="data" name="data" size="25" placeholder="На сколько месяцев?">  <br>
  7.     <input name="Submit" type=submit value="Посчитать"> </p><br>
  8. <jdoc:include type="modules" name="sideblock" style="xhtml" />
  9. </form></p>
  10.  

Ваш скрипт и мой закоментированый PHP
PHP:
скопировать код в буфер обмена
  1. <script>
  2.         document.forms.myform.onsubmit = function(){
  3.      var vznos = +this.sum.value*30/100,
  4.          result = Math.ceil((+this.sum.value - vznos) / +this.data.value);
  5.      document.querySelector('.data').innerHTML = 'Первоначальный взонс <b>'+vznos+'</b> сум.<br>Ежемесечная оплата составляет '+result+' сум<br> В течении 'this.data.value+' месяцев.'
  6.      return false;
  7. }
  8.         </script>
  9. <?PHP /*
  10.  
  11. if (isset($_POST['Submit'])) {
  12.         $sum = isset($_POST['sum']) ? $_POST['sum'] : '';
  13.         $data = isset($_POST['data']) ? $_POST['data'] : '';
  14.         $vznos = $sum*30/100;
  15.         $result = ($sum-$vznos)/$data ;
  16.         ?>
  17.         Первоначальный взонс <a class="cifra"><?= $vznos;?></a> сум.<br>
  18.   Ежемесечная оплата составляет <a class="cifra"><?PHP echo ceil($result );?></a> сум<br>
  19.   В течении <a class="cifra"><?= $data ;?></a> месяцев.
  20.         <?PHP
  21. }
  22. */
  23. ?>

[PHP][/PHP]
 
My status
 Top
etoYA
Отправлено: 20 Июля, 2015 - 17:31:59
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




XochuZnat, в коде то пытались разобраться, либо копипаст и все?
Если нет, то.

замените на:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. document.querySelector('.data').innerHTML = 'Первоначальный взонс <b>'+vznos+'</b> сум.<br>Ежемесечная оплата составляет '+result+' сум<br> В течении 'this.data.value+' месяцев.'
  3.  

на
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. document.write('Первоначальный взонс <b>'+vznos+'</b> сум.<br>Ежемесечная оплата составляет '+result+' сум<br> В течении 'this.data.value+' месяцев.');
  3.  

должно помочь.

(Отредактировано автором: 20 Июля, 2015 - 17:35:42)

 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 17:36:44
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




[quote=IllusionMH][/quote]
Uncaught SyntaxError: Unexpected token this
(index):671 The specified value '\u0412\u0430\u0448 Email' is not a valid email address.
(Добавление)
[quote=etoYA][/quote]
Понял только мат часть)
Заменил
CODE (javascript):
скопировать код в буфер обмена
  1. <script>
  2.         document.forms.myform.onsubmit = function(){
  3.      var vznos = +this.sum.value*30/100,
  4.          result = Math.ceil((+this.sum.value - vznos) / +this.data.value);
  5.      document.write('Первоначальный взонс <b>'+vznos+'</b> сум.<br>Ежемесечная оплата составляет '+result+' сум<br> В течении 'this.data.value+' месяцев.');
  6.      return false;
  7. }
  8.         </script>

Все равно обновляется весь сайт, блок задвигается, кликаю - выезжает пустым Огорчение
Консоль ругается
Uncaught SyntaxError: missing ) after argument list
Только чет не пойму где?!

(Отредактировано автором: 20 Июля, 2015 - 18:05:59)

 
My status
 Top
etoYA
Отправлено: 20 Июля, 2015 - 18:29:01
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




CODE (javascript):
скопировать код в буфер обмена
  1. this.data.value+' месяцев.');

на
CODE (javascript):
скопировать код в буфер обмена
  1. +this.data.value+' месяцев.');
 
 Top
XochuZnat
Отправлено: 20 Июля, 2015 - 18:32:54
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2015  
Откуда: Ташкент


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




[quote=etoYA][/quote]
Спасибо, все посчиталось но на новой странице, а вывод в этом же блоке как реализовать?
http://itmages[dot]ru/image/view/2782158/e6094083
Нужно обновление только болка div
На скрине вывод с PHP, но вся проблема с ним состояла в том что обновлялась вся страница, из-за обновления блок с калькулятором задвигался.

(Отредактировано автором: 20 Июля, 2015 - 18:37:28)

 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB