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 :: Вопрос по Ajax

 PHP.SU

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


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

> Описание: Вопрос по Ajax
Dee
Отправлено: 15 Октября, 2013 - 15:55:21
Post Id



Частый гость


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


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




Че то делаю делаю,а он не работает.Наверняка глупая ошибка но я не могу понять.

Есть к примеру 3 кнопки на главной странице

CODE (html):
скопировать код в буфер обмена
  1. <div id="content"></div>
  2. <button name='but' value='1' class="buys">Купить 1</button>
  3. <button name='but' value='2' class="buys">Купить 2</button>
  4. <button name='but' value='3' class="buys">Купить 3</button>



Есть соседний файл test.php
содержит:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $val = $_POST['vals'];
  3. $z = $val * 10 ;
  4. echo $z ;
  5. ?>


До этого у нас подключена библиотека Jquery и прописана следующая функция:

CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready (function () {
  2.  
  3. var zzz = $(".buys");
  4.  
  5. zzz.click(function() {
  6. var valss = $(this).attr("value");
  7. //alert(valss);
  8.                 $.ajax({  
  9.                     type: "POST",  
  10.                     url: "test.php",  
  11.                     data: { but : valss.val()},  
  12.                     success: function(data){  
  13.                         $("#content").html(data);  
  14.                     }  
  15.                 });  
  16.  
  17. });
  18.  
  19. }) ;


По идее просто должен вернуть цифру атрибута на которую нажали в область
контента,но я не понимаю что не так.... Ураганный огонь
 
 Top
IllusionMH
Отправлено: 15 Октября, 2013 - 16:11:20
Post Id



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


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


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




Dee, valss = $(this).attr("value"); и valss.val() не смущает?
 
 Top
Dee
Отправлено: 15 Октября, 2013 - 16:23:04
Post Id



Частый гость


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


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




загоняем в переменную valss атрибут value
а дальше valss.val() как было в каком -то уроке,
я ж нуб ,я не знаю что тут еще может смущать )
 
 Top
Jlblcblu
Отправлено: 15 Октября, 2013 - 16:24:20
Post Id



Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Март 2010  


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




CODE (html):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. $(function () {
  4.         $('.buys').click(function() {
  5.                 var valss = $(this).attr("value");
  6.                
  7.                 $.ajax({  
  8.                         type: "POST",  
  9.                         url: "test.php",  
  10.                         data: {
  11.                             vals: valss
  12.                         },  
  13.                         success: function(data){  
  14.                                 $("#content").html(data);  
  15.                         }  
  16.                 });  
  17.         });
  18. }) ;
  19. </script>
  20.  


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $val = $_POST['vals'];
  3.         $z = $val * 10 ;
  4.         echo $z ;
  5. ?>
 
 Top
esterio
Отправлено: 15 Октября, 2013 - 16:37:08
Post Id



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


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


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





Jlblcblu
Еще лучше рекомендация самого ТС

Зачем работать с атрибутом, если есть метод val, который как возвращает, так и задает значение
CODE (javascript):
скопировать код в буфер обмена
  1. $('input').val('someValue'); // Задали значение
  2. $('input').val(); // Взяли значение someValue
 
 Top
Dee
Отправлено: 15 Октября, 2013 - 16:45:53
Post Id



Частый гость


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


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




Jlblcblu - спасибо,вопрос,
почему если прописать до
$(document).ready(function () {


тут код

}
то эта вставка кода не работает,а если убрать то опять работает
 
 Top
Jlblcblu
Отправлено: 15 Октября, 2013 - 16:50:19
Post Id



Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Март 2010  


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




esterio пишет:
Еще лучше рекомендация самого ТС

Немного не понял о чем это Вы.

Использование .val() ничем не отличается от получения атрибута. Человек где-то увидел такое написание и оно вполне жизнеспособно. Можно, например, глянуть вот сюда https://github[dot]com/jquery/jquery[dot][dot][dot]ttributes/val[dot]js
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function () {

и

Это одно и тоже. Обозначает окончание загрузки dom

Таким образом мой код может выглядеть так.

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function () {
  4.         $('.buys').click(function() {
  5.                 var valss = $(this).attr("value");
  6.                
  7.                 $.ajax({  
  8.                         type: "POST",  
  9.                         url: "test.php",  
  10.                         data: {
  11.                             vals: valss
  12.                         },  
  13.                         success: function(data){  
  14.                                 $("#content").html(data);  
  15.                         }  
  16.                 });  
  17.         });
  18. }) ;
  19. </script>
  20.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB