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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Рачей
Отправлено: 28 Июня, 2016 - 23:08:47
Post Id


Гость


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


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




Вот так все замечательно работает, уж не обессудьте, пишу как умею.
Но понадобилось апенд сделать и добавить еще таблицу с такими же полями..
как теперь это посчитать?

Спойлер (Отобразить)





Спойлер (Отобразить)
 
 Top
Viper
Отправлено: 29 Июня, 2016 - 10:05:12
Post Id



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


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


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




1. Всегда! делайте форму, не зависимо от того чем вы обрабатываете. Так вы по крайней мере будете уверены что при какой-либо ошибке javascript юзер сможет отправить форму на сервер. Не ведитесь на новомодные быдло-тенденции.
2. id у input'ов в данном случае лучше убрать и задать class="ваше_значение".
3. если уж используете синтаксис jquery то и используйте. Не нужно мешанину делать из чистого js и jquery. Не ройте себе яму.
4. $('#slojenie').change вообще бред. У <div> нет действия change.
5. По классу($('.ваше_значение')) проходитесь через $.each() по всем и выполняете умножение.
6. Значения инпутов нужно приводить к integer ну или хотя бы проверять через parseInt()


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Рачей
Отправлено: 29 Июня, 2016 - 16:28:39
Post Id


Гость


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


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




Все сделал как вы сказали.

PHP:
скопировать код в буфер обмена
  1.  
  2. $('.sgls').each(function (i, value) {
  3.         // в лог выводит
  4.         console.log('sgls' + i + ':' + $(this).val());
  5.         /// а как мне теперь присвоить сосднему полю значение посчитаное?
  6.  
  7.         $('.sglr'+ [i]).val('100');     /// не работает...     
  8. });

(Отредактировано автором: 29 Июня, 2016 - 16:29:36)

 
 Top
Viper
Отправлено: 29 Июня, 2016 - 20:29:03
Post Id



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


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


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




Рачей пишет:
/// а как мне теперь присвоить сосднему полю значение посчитаное?
зависит от того какая сейчас у вас структура html. Могу предположить лишь примерно
CODE (javascript):
скопировать код в буфер обмена
  1. $('.slgr').eq(1).val(100); // из массива объектов выбираем второй и присваиваем.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Рачей
Отправлено: 29 Июня, 2016 - 22:54:49
Post Id


Гость


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


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




Может не правильно изяснился, мне нужно что бы введя в поле sgls сумма отправлялась в sglr
при вводе в поле dbls другая сумма вывелась dblr и так же с tpls и tplr
если бы это было с одной таблицей, то у меня получалось в верхнем примере. Но надо добавлять количество этих таблиц до 10-15...

Спойлер (Отобразить)

(Добавление)
Получилось вот таким образом

PHP:
скопировать код в буфер обмена
  1.  
  2. $(document).ready( function() {
  3.         var curs = '10';
  4.         $('#form').change(function(e){
  5.                 $('.sgls').each(function (i, value) {
  6.                         var s = curs * $(this).val();
  7.                         $(".sglr:eq("+i+")").val(s);   
  8.                 });
  9.                 $('.dbls').each(function (i, value) {
  10.                         var s = curs * $(this).val();
  11.                         $(".dblr:eq("+i+")").val(s);   
  12.                 });
  13.                 $('.tpls').each(function (i, value) {
  14.                         var s = curs * $(this).val();
  15.                         $(".tplr:eq("+i+")").val(s);   
  16.                 });
  17.         });    
  18. });
  19.  


Не знаю, правильно ли, но работает...
 
 Top
Viper
Отправлено: 30 Июня, 2016 - 08:39:40
Post Id



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


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


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




Ну если работает - и хорошо. Единственное смените :eq на .eq()
http://api[dot]jquery[dot]com/eq-selector/ абзац Additional Notes


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 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