Foros del Web » Programando para Internet » Javascript »

Sumar valores de campos en formulario

Estas en el tema de Sumar valores de campos en formulario en el foro de Javascript en Foros del Web. Hola, Tengo un formulario y quiero que al seleccionar cada campo y luego hacer click en "Calcular" se sumen los valores de los campos seleccionados ...
  #1 (permalink)  
Antiguo 14/12/2007, 14:17
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Sumar valores de campos en formulario

Hola,

Tengo un formulario y quiero que al seleccionar cada campo y luego hacer click en "Calcular" se sumen los valores de los campos seleccionados y aparezca el resultado abajo.
Este es el codigo del formulario:
Código:
<form>
  <p>
  <select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='formularios'>
    <option value='0'> # Adultos
    <option value='2183'> 1
    <option value='4366'> 2
  </select>
  <br>
  <select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='formularios2'>
    <option value='0'> # 4 a 11 años
    <option value='1308'> 1
    <option value='2616'> 2
  </select>
  <br>
  <select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='formularios3'>
    <option value='0'> # 2 a 3 años
    <option value='551'> 1
    <option value='1102'> 2
  </select>
  <br>
  <select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='formularios4'>
    <option value='0'> # Single
    <option value='4346'> 1
    <option value='8692'> 2
  </select>
  </p>
  <p>
     <input type="submit" name="Submit" value="Calcular" style="width:55px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000"> 
    <input type="text" name="textfield" style="width:76px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF">
</p>
</form>
Existe algun codigo para esto??

Saludos y gracias de antemano.
__________________
La seguridad es la infinita inseguridad de lo seguro.

Última edición por HHnn; 18/12/2007 a las 16:33
  #2 (permalink)  
Antiguo 17/12/2007, 20:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

.....?????
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #3 (permalink)  
Antiguo 17/12/2007, 23:55
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Re: Sumar valores de campos en formulario

Tienes que agregar lo siguiente...
1. Colocale un nombre a <form name="xxx">
2. Colocale nombres, es decir, la etiqueta name a <option name="sks" value="223232">
3. En el boton calcular agregale la función onClick="mifuncion1()"
4. Creas una etiqueta script y lo calculas de la siguiente forma:

document.xxx.formularios.sks.value

Esta es la variable de cada funcion, el resto es agregar suma, resta a cada cosa que quieras hacer.

La palabra xxx se refiere al nombre del form, formularios al nombre del select, sks al nombre de option y value al valor que adquiere la variable.
__________________
-
  #4 (permalink)  
Antiguo 18/12/2007, 16:38
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

CrepitantE gracias por responder.

Pero el resultado del calculo quiero que me aparezca en un campo de texto como esta en el codigo.
Y quisiera que siempre adelante de los resultados aparezca el simbolo "u$s" dentro del mismo campo de texto.

Gracias de antemano.
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #5 (permalink)  
Antiguo 19/12/2007, 07:25
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
De acuerdo Re: Sumar valores de campos en formulario

Algo asi.. espero que te sirva pero recorda colocarle nombres referentes a cada uno de tus elementos o formularios.. para recordatorio de para que y por que lo creastes..

<script language="javascript">
function addTotals() {
with (document.forms["f1"])
{
var totalResult = Number( one.value ) + Number( two.value )+ Number( three.value )+ Number( four.value );
total.value = roundTo( totalResult, 2 );
}
}


function roundTo(num,pow){
if( isNaN( num ) )
{
num = 0;
}

num *= Math.pow(10,pow);
num = (Math.round(num)/Math.pow(10,pow))+ "" ;
if(num.indexOf(".") == -1)
num += "." ;
while(num.length - num.indexOf(".") - 1 < pow)
num += "0" ;

return "$"+num;
}



</script>






<form name="f1">
<p>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" onblur="addTotals()" name='one'>
<option value='0'> # Adultos
<option value='2183'> 1
<option value='4366'> 2
</select>
<br>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" onblur="addTotals()" name='two'>
<option value='0'> # 4 a 11 años
<option value='1308'> 1
<option value='2616'> 2
</select>
<br>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" onblur="addTotals()" name='three'>
<option value='0'> # 2 a 3 años
<option value='551'> 1
<option value='1102'> 2
</select>
<br>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" onblur="addTotals()" name='four'>
<option value='0'> # Single
<option value='4346'> 1
<option value='8692'> 2
</select>
</p>
<p>
<input type="submit" name="Submit" value="Calcular" style="width:55px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000">
<input type="text" name="total" style="width:76px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF">
</p>
</form>

Espero te sriva saludos..!!
  #6 (permalink)  
Antiguo 20/12/2007, 02:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

Muchas gracias agressor

El calculo lo hace perfecto.

Lo unico que no se porque al hacer click en calcular me actualiza la pagina, y el resultado del calculo se va mostrando a medida que se seleccionan los items.

Quisiera que el campo donde aparece el resultado quedara en blanco hasta que se hace click en calcular y entonces aparezca el resultado.
Que le faltaria agregar??

Saludos
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #7 (permalink)  
Antiguo 20/12/2007, 07:08
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sumar valores de campos en formulario

Espero te sirva..

<script language="javascript">
function addTotals() {
with (document.forms["f1"])
{
var totalResult = Number( one.value ) + Number( two.value )+ Number( three.value )+ Number( four.value );
total.value = roundTo( totalResult, 2 );
}
}


function roundTo(num,pow){
if( isNaN( num ) )
{
num = 0;
}

num *= Math.pow(10,pow);
num = (Math.round(num)/Math.pow(10,pow))+ "" ;
if(num.indexOf(".") == -1)
num += "." ;
while(num.length - num.indexOf(".") - 1 < pow)
num += "0" ;

return "$"+num;
}



</script>






<form name="f1">
<p>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='one'>
<option value='0'> # Adultos
<option value='2183'> 1
<option value='4366'> 2
</select>
<br>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='two'>
<option value='0'> # 4 a 11 años
<option value='1308'> 1
<option value='2616'> 2
</select>
<br>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='three'>
<option value='0'> # 2 a 3 años
<option value='551'> 1
<option value='1102'> 2
</select>
<br>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF" name='four'>
<option value='0'> # Single
<option value='4346'> 1
<option value='8692'> 2
</select>
</p>
<p>
<input type="button" name="button" onclick="addTotals()" value="Calcular" style="width:55px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000">
<input type="text" name="total" style="width:76px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;color:#000000;background-color:#FFFFFF">
</p>
</form>

salu2..!!
  #8 (permalink)  
Antiguo 20/12/2007, 13:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

Muchas gracias agressor

Funciona perfecto.

Un Abrazo
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #9 (permalink)  
Antiguo 20/12/2007, 13:18
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
De acuerdo Re: Sumar valores de campos en formulario

Me alegro te sirva.. disculpa pero de que pais eres??

De casualidad no eres de Honduras lo decia por tu nick HHnn??

Salu2..!

Última edición por agressor; 20/12/2007 a las 13:24 Razón: Faltaba
  #10 (permalink)  
Antiguo 17/01/2008, 08:30
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

agressor, soy de Argentina.

Necesito hacer una modificacion en el codigo, ya que ahora necesito usar "value" para otro dato que luego sera recogido por un php.
Entonces quise cambiar el nombre de los valores del precio por "label" no me funciona cambiandolo por ese nombre.
Aqui dejo el codigo modificado:

Código:
<script language="javascript">
function addTotals() {
with (document.forms["f1"])
{
var totalResult = Number( one.label ) + Number( two.label )+ Number( three.label )+ Number( four.label );
total.label = roundTo( totalResult, 2 );
}
}
 
function roundTo(num,pow){
if( isNaN( num ) )
{
num = 0;
}
num *= Math.pow(10,pow);
num = (Math.round(num)/Math.pow(10,pow))+ "" ;
if(num.indexOf(".") == -1)
num += "." ;
while(num.length - num.indexOf(".") - 1 < pow)
num += "0" ;
return "u$s "+num;
}
 
</script>
 
 
 
<form name="f1">
<p>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000;background-color:#FFFFFF" name='one'>
<option label='0'> # Adultos
<option label='2203'> 1
<option label='4406'> 2
</select>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000;background-color:#FFFFFF" name='two'>
<option label='0'> # 4 a 11 años
<option label='1103'> 1
<option label='2206'> 2
</select>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000;background-color:#FFFFFF" name='three'>
<option label='0'> # 2 a 3 años
<option label='556'> 1
<option label='1112'> 2
</select>
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000;background-color:#FFFFFF" name='four'>
<option label='0'> # Single
<option label='3297'> 1
<option label='6594'> 2
</select>
<input type="button" name="button" onclick="addTotals()" value="Calcular" style="width:60px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000"><input type="text" name="total" style="width:75px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000;background-color:#FFFFFF">
</p>
</form>
Gracias nuevamente.
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #11 (permalink)  
Antiguo 17/01/2008, 14:55
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sumar valores de campos en formulario

No importa el value es solo un atributo del option puedes usarlo de igual manera y si vas a declarar una variable $value no te deberia dar problema.. no te preocupes puedes seguir usando el atributo value de los options sin ninugn problema..

Cualquier cosa me avisas.. A ya es que Honduras tambien se abrevia HN por eso te preuntaba..
Espero te sirva..

Salu2..!
  #12 (permalink)  
Antiguo 17/01/2008, 23:56
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

Pero necesito agregar un dato mas a los options, aparte del precio. Y ese dato sera recogido por el php, entonces como por defecto el formulario envia los datos de value al php, queria cambiar el nombre de la variable que contiene el precio, y dejar el nombre "value" para el otro dato. Por eso lo cambie por "label", y luego en el codigo cambie todo lo que decia value por label, y lo probe antes de agregar el otro dato con el nombre value, pero no funciona.
__________________
La seguridad es la infinita inseguridad de lo seguro.

Última edición por HHnn; 18/01/2008 a las 00:07
  #13 (permalink)  
Antiguo 18/01/2008, 07:06
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sumar valores de campos en formulario

A ver dime cual es el dato o mejor aun explicame que debes hacer.. ya que no te entiendo mucho.. hasta ahora te entendi que necesitas agregar otro dato pero cual dato.. ?? dame una mejor explicacion para que te pueda respondr de una mejor manera..

Ademas el value no se puede cambiar ya que es un ATRIBUTO es como decir una caracteristica de un objeto en nuestro caso el SELECT..

dame una mejor explicacion de lo que quieres hacer y te ayudo con todo gusto..

Salu2..!

Última edición por agressor; 18/01/2008 a las 07:08 Razón: Faltaba detalle..
  #14 (permalink)  
Antiguo 18/01/2008, 10:11
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

Lo que quiero es que los datos se envien a un php que luego muestre lo seleccionado y el resultado.
Si se seleccionan 2 adultos , 1 de 4 a 11 años y 1 de 2 a 3 años que aparezca:

Adultos: 2 x u$s 2203.00 = u$s 4406.00
4 a 11 años: 1 x u$s 1103.00 = u$s 1103.00
2 a 3 años: 1 x u$s 556.00 = u$s 556.00
Single: 0 x u$s 3297.00 = u$s 0.00
Total = u$s 6065.00

Por eso el formulario llevaria un action hacia el php, el campo donde se muetra el valor total que tiene el atributo type="text", ahora lo pondria con type="hidden" y el valor seria recogido por el php para ser mostrado como "Total", y el boton que dice "Calcular" que tiene el atributo type="button", ahora le pondria type="submit".
por otra parte a los option les pondria en "value" el dato del calculo, por ejemplo:

Código:
<select size="1" style="width:140px;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:normal;color:#000000;background-color:#FFFFFF" name='one'>
<option label='0'> # Adultos
<option label='2203' value='1 x u$s 2203.00 = u$s 2203.00'> 1
<option label='4406' value='2 x u$s 2203.00 = u$s 4406.00'> 2
</select>
Entonces por un lado "label" se utiliza para el calculo y "value" para ser enviado al php, ya que los formularios por defecto envian el contenido de "value" mediante un action, y quizas el codigo del script para el calculo se pueda modificar para reconocer a "label" como variable.
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #15 (permalink)  
Antiguo 18/01/2008, 13:54
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sumar valores de campos en formulario

A ver me parece que lo que estas es confundido mira..

Lo que debes hacer es sumar.. Es practicamente mostrar lo que mandas.. del formulario en otra pagina..

ya sea por el metodo POST o por el Metodo GET ya que ya tienes un Select para adultos y otro para ninos y otro para solteros todos estos son variables lo que debes hacer es enviar y leer estas variables en tu pagina..

<form name="f1" method="POST" action="resultado.php">

luego solo debes recuperar los datos..

asi..

$adultos = $_POST['one'];
$ninios_4_11 = $_POST['two'];
$ninios_2_3 =$_POST['three'];
$single = $_POST['four'];

ahora con estas variables solo las muestras..

como ya sabes cuanto cuesta por adulto solo lo divides..
total_adulto = $adulto/(valor adulto);
totalninio_4_11 $ninios_4_11(valor_total_ninio_4_11);
totalninio_2_3 $ninios_4_11(valor_total_ninio_2_3);
totalsoltero = $totalsoltero/(valor_soltero);

despues solo suma los resultados..

Espero te sirva voy a ver si te coloco un ejemplo mas tarde..

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #16 (permalink)  
Antiguo 18/01/2008, 14:19
 
Fecha de Ingreso: abril-2007
Mensajes: 81
Antigüedad: 17 años
Puntos: 0
Re: Sumar valores de campos en formulario

saludos...
aqui estan unas rutinas que me fueron facilitadas en este foro y que le hice algunas modicicaciones para usarlas segun era mi caso en ella podras escribir numeros son separadores de miles y decimales y sumarlos....

saludos....
espero te sirvan de ayuda
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Rutina para sumar Numeros</title>
<
script languaje "Javascript">
<!--

document.write("<b>Browser: </b> " navigator.appName);
document.write ("<br><b>Versión: </b>" navigator.appVersion);
document.write ("<br><b>Lenguaje: </b>" navigator.language);

//-->
function formato_PC(nsepMilsepDec) {
if(
sepMil == "."){
    return 
Numbern.replace(/./g,"").replace(/,/g,sepMil) );
    var 
numero Number.value}
else{
    return 
Numbern.replace(/./g,sepDec).replace(/,/g,"") );
    var 
numero Number.value}

function 
formato_HUM(nsepMilsepDecDecimales) {
       
n=n.toFixed(Decimales);//el 2 equivale a la cantidad de decimales que se desee
    
n=String(n).split(".");         
    
n[0]=n[0].split("").reverse().join("");    
        if(
sepMil == "."){ 
               
n[0]=n[0].replace(/(d{3})(?=d)/g,"$1" sepMil); 
        }else{
            
n[0]=n[0].replace(/(d{3})(?=d)/g,"$1" sepDec); 
        }
        
n[0]=n[0].split("").reverse().join("");        
        if(
sepMil == "."){
               return 
n.join(",");}
        else{
            
n[0]=n[0].replace(/./g,",");
        return 
n.join(".");}         
        } 
//cuando se realizen los cambios de separadores deben tener el mismo orden 
function suma(arr) { 
    var 
total=0
    for(var 
r=0;r<arr.length;r++) 
        
total+=formato_PC(arr[r],document.formulario.Sep_1.value,document.formulario.Sep_2.value); //cambiar aqui el orden de los separadores 
    
return formato_HUM(total,document.formulario.Sep_1.value,document.formulario.Sep_2.value,2); //cambiar aqui el orden de los separadores
}  

function 
sumaTodos() {
    var 
arr=new Array(); 
    for(var 
a=1a<=4a++) { 
        
arr[arr.length]=document.getElementById("caja"+a).value;//en "caja"+a va el nombre del los campos a sumar
    
}
    
document.getElementById("resultado").value=suma(arr); // "Resultado" es el campo a colocar el resultado de la suma

/*--------funcion que genera los separadores de miles y decimales mientras se escribe----------*/
    
function currencyFormat(fldsepmilsepdece) {
      
    var 
sep 0
    var 
key ''
    var 
0
    var 
len len2 0
    var 
strCheck '0123456789'
    var 
aux aux2 ''
    var 
whichCode = (window.Event) ? e.which e.keyCode// damos a whichCode el valor keycode de la tecla que ha sido pulsada
    
if (whichCode == 13 || whichCode == 0) return true// validamos la tecla enter
    
key String.fromCharCode(whichCode); // obtiene la tecla que ha sido pulsada de acuerdo a su keycode 
    
if (strCheck.indexOf(key) == -1) return false// invalidamos las teclas que no seas numericas 
    
len fld.value.length// damos a len el largo de la parametro que hemos recibido
    
for(0leni++) 
     if ((
fld.value.charAt(i) != '0') && (fld.value.charAt(i) != sepdec)) break; // si se cumplen las condiciones 'fld.value.charAt(i)' es cero y el valor de sepdec
    
aux '';
    for(; 
leni++) // bucle para darle el primer formato al numero 0,00... 0,02... 0,23... 2,31... 
     
if (strCheck.indexOf(fld.value.charAt(i))!=-1aux += fld.value.charAt(i); 
     
aux += key
     
len aux.length
     if (
len == 0fld.value '';
    if (
len == 1fld.value '0'sepdec '0' aux
    if (
len == 2fld.value '0'sepdec aux
    if (
len 2) { 
    
aux2 ''
     for (
0len 3>= 0i--) { // bucle para darle formato de miles cada tres digitos al numero, 3.222... 32.223... 322.234...
      
if (== 3) { 
       
aux2 += sepmil
       
0
      } 
      
aux2 += aux.charAt(i); 
      
j++; 
     } 
     
fld.value ''
     
len2 aux2.length
     for (
len2 1>= 0i--) //bucle para darle formato de miles y decimales, 32.223,34
     
fld.value += aux2.charAt(i); 
     
fld.value += sepdec aux.substr(len 2len); 
    } 
    
    return 
false
   } 
    function 
cuenta(){ 
    
document.formulario.Valor.value document.formulario.Sep_1.value
   } 
</script> 
</head> 

<body> 
  <form name="formulario"> 
Sep Miles:<input type ="text" id="Sep_1" size="5" value="," disabled="disabled" />
<br />
Sep Decimales:<input type ="text" id="Sep_2" size="5" value="." disabled="disabled"/>
<br />
Numero<input type="text" id="caja1" size="30" onKeyPress="return(currencyFormat(this,document.formulario.Sep_1.value,document.formulario.Sep_2.value,event))"><br /> 
Numero<input type="text" id="caja2" size="30" onKeyPress="return(currencyFormat(this,document.formulario.Sep_1.value,document.formulario.Sep_2.value,event))"><br /> 
Numero<input type="text" id="caja3" size="30" onKeyPress="return(currencyFormat(this,document.formulario.Sep_1.value,document.formulario.Sep_2.value,event))"><br /> 
Numero<input type="text" id="caja4" size="30" onKeyPress="return(currencyFormat(this,document.formulario.Sep_1.value,document.formulario.Sep_2.value,event))"><br /> 
<input type="button" value="Resultado: " onclick="sumaTodos()" /> <input type="text" id="resultado" size="30"> 
</form>
</body> 
</html> 
  #17 (permalink)  
Antiguo 18/01/2008, 14:27
 
Fecha de Ingreso: abril-2007
Mensajes: 81
Antigüedad: 17 años
Puntos: 0
Re: Sumar valores de campos en formulario

Reemplaza las siguientes lineas si no creo que te daran errores...

return Number( n.replace(/./g,"").replace(/,/g,sepMil) );

por

return Number( n.replace(/\./g,"").replace(/,/g,sepMil) );

y tambien

n[0]=n[0].replace(/(d{3})(?=d)/g,"$1" + sepMil);

por

n[0]=n[0].replace(/(\d{3})(?=\d)/g,"$1" + sepMil);

esta

n[0]=n[0].replace(/./g,",");

por

n[0]=n[0].replace(/\./g,",");


saludos...
  #18 (permalink)  
Antiguo 19/01/2008, 09:19
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

caberto gracias por responder, lo que puisiste no es lo que estoy buscando, pero igualmente es algo de utilidad, gracias, lo tendre en cuenta.

agressor gracias por responder. Lo que dices es hacerlo todo en el php, pero se me hace mas facil hacerlo de la manera que digo, solo necesito que el script me reconozca "label" como dato en vez de "value", lo demas ya lo tengo.
Creo que se tiene que poder, ya que el siguiente script que pongo como ejemplo reconoce "label" como atributo.

Código:
<form id="contacto" name="contacto" method="post" action="enviarmail.php" onSubmit="javascript:return valida_envia();">
      
                  <select name="select1" size="1" onChange="cambia_select2()">
                    <option label="0">DESTINO (?)</option>
                    <option label="12">SUDAMERICA</option>
                    <option label="11">Argentina - Brasil</option>
                    <option label="1">Amazonas</option>
                    <option label="11">Ant&aacute;rtida</option>
                    <option label="2">Galapagos</option>
                    <option label="12">------------------------------------------------</option>
                    <option label="12">AMERICA CENTRAL</option>
                    <option label="3">Canal de Panam&aacute;</option>
                    <option label="2">Caribe - Antillas</option>
                    <option label="2">Caribe - Bahamas</option>
                    <option label="2">Caribe - M&eacute;xico</option>
                    <option label="12">------------------------------------------------</option>
                    <option label="12">AMERICA DEL NORTE</option>
                    <option label="4">Alaska</option>
                    <option label="5">Canad&aacute; - Bermudas</option>
                    <option label="12">------------------------------------------------</option>
                    <option label="12">EUROPA - NORTE</option>
                    <option label="4">Fiordos y Ecandinavia</option>
                    <option label="4">Mar B&aacute;ltico</option>
                    <option label="4">Islas Inglesas</option>
                    <option label="4">Capitales del Norte</option>
                    <option label="12">------------------------------------------------</option>
                    <option label="12">EUROPA - SUR</option>
                    <option label="2">Islas Canarias</option>
                    <option label="2">Mediterr&aacute;neo - Este</option>
                    <option label="2">Mediterr&aacute;neo - Oeste</option>
                    <option label="4">Adri&aacute;tico</option>
                    <option label="6">Dalmacia</option>
                    <option label="12">------------------------------------------------</option>
                    <option label="12">PACIFICO</option>
                    <option label="2">Hawai</option>
                    <option label="2">Tahit&iacute;</option>
                    <option label="2">Australia / Nueva Zelanda</option>
                  </select>
                  <select name="select2" size="1">
                    <option label="13">MES DE VIAJE (?)
                  </select>
                  
    </form>
<script>
var meses_11=new Array("MES DE VIAJE (?)","Noviembre 2007","Diciembre 2007","------------------------------------------------","Enero 2008","Febrero 2008","Marzo 2008")
var meses_1=new Array("MES DE VIAJE (?)","Mayo 2007","Junio 2007","Julio 2007","Agosto 2007","------------------------------------------------","Mayo 2008","Junio 2008","Julio 2008","Agosto 2008")
var meses_2=new Array("MES DE VIAJE (?)","Enero 2007","Febrero 2007","Marzo 2007","Abril 2007","Mayo 2007","Junio 2007","Julio 2007","Agosto 2007","Septiembre 2007","Octubre 2007","Noviembre 2007","Diciembre 2007","------------------------------------------------","Enero 2008","Febrero 2008","Marzo 2008","Abril 2008","Mayo 2008","Junio 2008","Julio 2008","Agosto 2008","Septiembre 2008","Octubre 2008","Noviembre 2008","Diciembre 2008")
var meses_3=new Array("MES DE VIAJE (?)","Febrero 2007","Marzo 2007","Abril 2007","Septiembre 2007","Octubre 2007","Noviembre 2007","Diciembre 2007","------------------------------------------------","Febrero 2008","Marzo 2008","Abril 2008","Septiembre 2008","Octubre 2008","Noviembre 2008","Diciembre 2008")
var meses_4=new Array("MES DE VIAJE (?)","Mayo 2007","Junio 2007","Julio 2007","Agosto 2007","Septiembre 2007","------------------------------------------------","Mayo 2008","Junio 2008","Julio 2008","Agosto 2008","Septiembre 2008")
var meses_5=new Array("MES DE VIAJE (?)","Abril 2007","Mayo 2007","Junio 2007","Julio 2007","Agosto 2007","Septiembre 2007","Octubre 2007","------------------------------------------------","Abril 2008","Mayo 2008","Junio 2008","Julio 2008","Agosto 2008","Septiembre 2008","Octubre 2008")
var meses_6=new Array("MES DE VIAJE (?)","Junio 2007","Agosto 2007","------------------------------------------------","Junio 2008","Agosto 2008")
var meses_12=new Array("MES DE VIAJE (?)","Seleccione un destino")

function cambia_select2(){
 
 var select1
 select1 = document.contacto.select1[document.contacto.select1.selectedIndex].label
 
 if (select1 != 0) {
  
  los_meses=eval("meses_" + select1)
  
  num_meses = los_meses.length
  
  document.contacto.select2.length = num_meses
  
  for(i=0;i<num_meses;i++){
     document.contacto.select2.options[i].label=los_meses[i]
     document.contacto.select2.options[i].text=los_meses[i]
  } 
 }else{
  
  document.contacto.select2.length = 1
  
  document.contacto.select2.options[0].label = "12"
     document.contacto.select2.options[0].text = "MES DE VIAJE (?)"
 }
 
 document.contacto.select2.options[0].selected = true
}
</script>
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #19 (permalink)  
Antiguo 21/01/2008, 03:51
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Sumar valores de campos en formulario

.....?????
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #20 (permalink)  
Antiguo 21/01/2008, 12:20
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sumar valores de campos en formulario

En esto te pude ayudar es que no puedo hacerlo si no es en otro archivo tambien en PHP ya para presentarlo..

espero te sirva..

Osea recibis de este formulario y lo presentas en otro archivo..

Salu2..!!

<html>
<head>
<script type="text/javascript">
function valor()
{
var mylist=document.getElementById("adultos");
document.getElementById("adulto").value=mylist.opt ions[adultos.selectedIndex].value;
}
function valor2()
{
var mylist=document.getElementById("ninios");
document.getElementById("ninio").value=mylist.opti ons[ninios.selectedIndex].value;
}

function valor3()
{
var mylist=document.getElementById("ninios2");
document.getElementById("ninio2").value=mylist.opt ions[ninios2.selectedIndex].value;
}
function valor4()
{
var mylist=document.getElementById("solteros");
document.getElementById("soltero").value=mylist.op tions[solteros.selectedIndex].value;
}
</script>
</head>

<body>
<form>
Adultos:
<select size="1" id="adultos" name='adulto' onchange="valor()">
<option value='0'> # Adultos
<option value='2203'> 1
<option value='4406'> 2
</select><br>
<select size="1" id="ninios" name='ninio' onchange="valor2()">
<option value='0'> # 4 a 11 años
<option value='1103'> 1
<option value='2206'> 2
</select><br>
<select size="1" id="ninios2" name='ninio2' onchange="valor3()">
<option value='0'> # 2 a 3 años
<option value='556'> 1
<option value='1112'> 2
</select><br>
<select size="1" id="solteros" name='soltero' onchange="valor4()">
<option value='0'> # Single
<option value='3297'> 1
<option value='6594'> 2
</select><br>
<p>Adultos: <input type="text" id="adulto" size="20"></p>
<p>Ninios: <input type="text" id="ninio" size="20"></p>
<p>Ninios2: <input type="text" id="ninio2" size="20"></p>
<p>Soltero: <input type="text" id="soltero" size="20"></p>

</form>
</body>
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #21 (permalink)  
Antiguo 21/01/2008, 12:55
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sumar valores de campos en formulario

Perdona no habia leido bien tu post anterior pero si lo que quieres es que te reconozca el label como valor aqui te lo dejo.. espero te sirva

Prueba y me cuentas..!!

salu2..!!


<html>
<head>
<script type="text/javascript">
function valor()
{
var mylist=document.getElementById("adultos");
document.getElementById("adulto").value=mylist.opt ions[adultos.selectedIndex].label;
}
function valor2()
{
var mylist=document.getElementById("ninios");
document.getElementById("ninio").value=mylist.opti ons[ninios.selectedIndex].label;
}

function valor3()
{
var mylist=document.getElementById("ninios2");
document.getElementById("ninio2").value=mylist.opt ions[ninios2.selectedIndex].label;
}
function valor4()
{
var mylist=document.getElementById("solteros");
document.getElementById("soltero").value=mylist.op tions[solteros.selectedIndex].label;
}
</script>
</head>

<body>
<form>
Adultos:
<select size="1" id="adultos" name='adulto' onchange="valor()">
<option label='0'> # Adultos
<option label='2203'> 1
<option label='4406'> 2
</select><br>
<select size="1" id="ninios" name='ninio' onchange="valor2()">
<option label='0'> # 4 a 11 años
<option label='1103'> 1
<option label='2206'> 2
</select><br>
<select size="1" id="ninios2" name='ninio2' onchange="valor3()">
<option label='0'> # 2 a 3 años
<option label='556'> 1
<option label='1112'> 2
</select><br>
<select size="1" id="solteros" name='soltero' onchange="valor4()">
<option label='0'> # Single
<option label='3297'> 1
<option label='6594'> 2
</select><br>
<p>Adultos: <input type="text" id="adulto" size="20"></p>
<p>Ninios: <input type="text" id="ninio" size="20"></p>
<p>Ninios2: <input type="text" id="ninio2" size="20"></p>
<p>Soltero: <input type="text" id="soltero" size="20"></p>

</form>
</body>

</html>
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:23.