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
Форумы портала PHP.SU :: Версия для печати :: события полей
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » события полей

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

1. mutus - 01 Февраля, 2012 - 18:30:19 - перейти к сообщению
Есть форма
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="" method="POST">
  3.                 Day Count: <input type="text" name="txt" >
  4.                 <input type="text" name="txt4"  class="summ">
  5.                 <input type="text" name="txt5" id="txt5">
  6.         </form>
  7.  

суть в ней такова, что поле с именем txt4 должно умножаться на поле с именем txt и выводиться в поле txt5, если вводить данные по очереди, то все получается, как сделать так, чтобы можно было бы вводить например сначала цифру в поле txt4 его значение бы выводилось в поле txt5 и потом можно было бы ввести цифру в поле txt и произведение полей txt*txt4 выводилось бы в поле txt5?
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(function()
  3.         {
  4.                
  5.     var calc = function()
  6.                 {
  7.         var summ = 0;
  8.                         var day = parseInt($('input[name=txt]').val());
  9.                                                                                
  10.       fields.each(function()
  11.                         {
  12.         var el = $(this), type = el.attr("type");
  13.                                                                                                        
  14.         if ((type == "text") || (type == "checkbox" && el.attr("checked")))
  15.                                 {
  16.                 summ += parseInt($(this).val(), 10) || 0;
  17.         }
  18.         $('input[name=txt5]').val(summ * day);
  19.  
  20.        });//end each
  21.      },//end calc
  22.  
  23.     fields = $(".summ");
  24.                 fields.change(calc);
  25.    
  26.         });
  27.  
  28.  
  29.  

нашел тему похожую с моей, помогите исправить эту функцию
2. garvey - 01 Февраля, 2012 - 19:20:59 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function() {
  2.     var txt = $('input[name="txt"]');
  3.     var txt4 = $('input[name="txt4"]');
  4.     var txt5 = $('input[name="txt5"]');
  5.    
  6.     txt.change(function() {
  7.         calc(txt.val(), txt4.val());
  8.     });
  9.    
  10.     txt4.change(function() {
  11.         calc(txt.val(), txt4.val());
  12.     });
  13.    
  14.     function calc(txt, txt4)
  15.     {
  16.         if (!txt && txt4) {
  17.             txt5.val(txt4);
  18.         } else if (txt && !txt4) {
  19.             txt5.val(txt);
  20.         } else if (txt && txt4) {
  21.             txt5.val(parseInt(txt)*parseInt(txt4));
  22.         }
  23.     }
  24. });
3. mutus - 01 Февраля, 2012 - 19:33:13 - перейти к сообщению
спасибо помогло

 

Powered by ExBB FM 1.0 RC1