Comunidad de diseño web y desarrollo en internet online

Ayuda Validar matrices de controles JS

Citar            
MensajeEscrito el 03 Sep 2009 10:39 pm
QUe tal, bueno pues mi pregunta es como puedo validar una matriz de controles.

bueno el problema es asi, en base a una consulta sql genero una lista la cual cada registro tiene 3 campos
cantidad , stock y phar

la suma de 'stock' y 'phar' debe ser igual a 'cantidad'

ejemplo

articulo cantidad stock phar
gato 5 3 2
perro 10 5 5
superman 6 1 5
N..

la idea es hacer una funcion en js que me valide si la suma de stock + phar = cantidad encaso contrario mande una leyenda que diga que es incorrecta. lo habia logrado pero con un solo registro con esta funcion.

Código Javascript :

                             function suma(operacion)
               { 
               var cantidad = document.calc.cantidad.value;
               var stock = document.calc.stock.value;
               var phar = document.calc.phar.value;
               var total = eval(stock + operacion + phar);
            
               if(cantidad==total)
               {
               var msg="<span></span>";
               document.getElementById("msg").innerHTML = msg;
               }
            else
               {
               var msg="<span class='contra'>La suma de Cantidad Stock + Cantidad Phar debe equivaler a Cantidad!</span>";      
               document.getElementById("msg").innerHTML = msg;
               }         
            } 
      


el problema es que ahora son N registros y ps cada campo se debe llamar distinto por eso hice las matrices asi
cantidad[$i]
stock[$i]
phar[$i]


Código PHP :

<?php
$i=0;
while($datos=mysql_fetch_array($manager->rs))
    {
    echo "<input type='text' name='cantidad[$i]' id='cantidad[$i]' value='$cantidad' onfocus=\"suma('+')\" />";

   echo "<input type='text' name='stock[$i]' id='stock[$i]' value='$cantidad_stock' size='5' onfocus=\"suma('+')\" />";
   
   echo "<input type='text' name='phar[$i]' id='phar[$i]' value='$cantidad_phar' size='5' onfocus=\"suma('+')\" />";

   echo "<span id='msg$i'></span>"
   }



se agradace la ayuda

Por bbdarkclown

13 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 03 Sep 2009 11:10 pm
:lol: bueno estoy de vuelta, problema solucionado solo me hacia falta un buen cafe, cigarro en mano y un metal sinfonico :cool:

Código Javascript :


function suma(operacion)
               {
               var final=document.totalregistros.value; 
               
               for(i=0;i<final;i++)
                  {
                  var cantidad = document.getElementById('cantidad['+i+']');
                  var stock = document.getElementById('stock['+i+']');
                  var phar = document.getElementById('phar['+i+']');
                  var total = eval(stock.value + operacion + phar.value);
               
                     if(cantidad.value==total)
                        {
                        var msg="<span></span>";
                        document.getElementById("msg"+i).innerHTML = msg;
                        }
                     else
                        {
                        var msg="<span class='contra'>La suma de Cantidad Stock + Cantidad Phar debe equivaler a Cantidad!</span>";      
                        document.getElementById("msg"+i).innerHTML = msg;
                        }   
                  
                  }                  
            } 
      </script> 



saludos y ahi se los dejo por si a alguien le sirve

Por bbdarkclown

13 de clabLevel



 

México

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.