Foros del Web » Programando para Internet » Javascript »

No se sumar... :-P

Estas en el tema de No se sumar... :-P en el foro de Javascript en Foros del Web. Hola compañeros, Estoy intentando hacer un formulario HTML que te recoga los datos que introduzca el usuario y los sume al apretar un botón .´ ...
  #1 (permalink)  
Antiguo 07/08/2006, 10:02
 
Fecha de Ingreso: agosto-2006
Mensajes: 7
Antigüedad: 17 años, 9 meses
Puntos: 0
No se sumar... :-P

Hola compañeros,

Estoy intentando hacer un formulario HTML que te recoga los datos que introduzca el usuario y los sume al apretar un botón

Aqui teneis el codigo, por el momento he conseguido crear los "input type" para los distintos datos que necesito recoger, en total solo son 5:numero de adultos,precio adultos, numero de niños, precio niños y gastos de gestión

Mi problema es:

No se crear una funcion que al apretar el boton "total" haga una operacion con los datos introducidos y muestre el resultado

Intuyo que tengo que insertar algun codigo en PHP o JavaScript para ello pero como????


Gracias de antemano a todos aquellos que me hayan dedicado parte de su tiempo...


<html>
<head>
<title>Operacion Suma</title>
</head>

<style>
.campo {border-width:1px; border-style: solid; border-color:#828282; font-family:verdana; font-size:8pt}
.etiqueta {font-family: verdana; font-size:9pt}
.campo_numerico{border-width:1px; border-style: solid; border-color:#828282; font-family:verdana; font-size:8pt; text-align:right}
</style>


<body>
<script languaje=javascript>
//aqui es donde se supone tendria que ir la funcion de suma
// (num. adultos * precio adultos)+(num.niños * precio niños) + Gastos Gestion
function suma(form)
{
alert('operación!!!')
}
</script>

<!-- Datos de la reserva -->
<fieldset style="width: 800;">
<LEGEND style="font-family: verdana; font-size:10pt; color:#000ee0">Datos de la reserva</LEGEND>
<table width="100%" border="0">
<tr>
<td><br></td>
</tr>
<tr>
<td class=etiqueta>Núm. adultos:</td>
<td><input type=text name=num_adultos class=campo size=5></td>
<td class=etiqueta>Precio adultos:</td>
<td><input type=text name=precio_adultos class=campo size=10></td>
</tr>
<tr>
<td class=etiqueta>Núm. niños:</td>
<td><input type=text name=num_ninos class=campo size=5></td>
<td class=etiqueta>Precio niños:</td>
<td><input type=text name=precio_ninos class=campo size=10></td>
</tr>
<tr>
<td></td>
<td></td>
<td class=etiqueta>Gastos de gestión:</td>
<td><input type=text name=gestion class=campo size=10></td>
</tr>
<tr>
<td></td>
<td></td>
<!--Ordena suma a javascript (codigo arriba) -->
<td><input type=button name=total value=Total onClick="javascript: suma(this.form);"></td>
<td><input type=text name=total class=campo size=10 style="color:red; text-align: right"></td>
</tr>
</table>
</fieldset>
</body>
</html>
  #2 (permalink)  
Antiguo 07/08/2006, 10:41
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Pues para empezar, cuando llamas a la funcion suma de JS, no tienes mas que un alert, y por lo tanto no te va a sumar nada,
segundo: para referirte a un valor, puedes hacer esto:
Código HTML:
var suma=document.nombreDEtuFOrm.nombreDEinput.value + document.nombreDEtuFOrm.nombreDEOTROinput.value;
Y si lo quieres hacer con PHP:
Código PHP:
<?php
        
if($_POST){
            foreach(
$_POST as $key=> $val){
                
$suma+=$val;
            }
            print 
$suma;
        }
        
?>
PD:Tendras que poner tu formulario y ponerle en el action a que documento PHP llamara..ej:
<form name="nombre" action="suma.php" method="POST">
Espero te sirva..
! Saludos !
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 07/08/2006, 12:49
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 17 años, 11 meses
Puntos: 0
Te tengo una solucion mas rapida, es crear otro <input tipe=text name=resultado>, y luego con el siguiente codigo podras ver el resultado mas rapido:

Código HTML:
<script languaje=javascript>
    function suma(){
        var nadultos = document.forms.datos.num_adultos.value;
        var nninos = document.forms.datos.num_ninos.value;
        var padultos = document.forms.datos.precio_adultos.value;
        var pninos =  document.forms.datos.precio_ninos.value;
        var gestion = document.forms.datos.gastos.value;


        var  res = (nadultos * padultos)+(nninos * pninos) + gestion;

        document.forms.datos.resultado.value = res; // Elemento que debes crear dentro del Form;
       
    }
</script>
<form id="datos" action="nosep.php" metod="_post">
table width="100%" border="0">
<tr>
<td><br></td>
</tr>
<tr>
<td class=etiqueta>Núm. adultos:</td>
<td><input type=text name=num_adultos class=campo size=5></td>
<td class=etiqueta>Precio adultos:</td>
<td><input type=text name=precio_adultos class=campo size=10></td>
</tr>
<tr>
<td class=etiqueta>Núm. niños:</td>
<td><input type=text name=num_ninos class=campo size=5></td>
<td class=etiqueta>Precio niños:</td>
<td><input type=text name=precio_ninos class=campo size=10></td>
</tr>
<tr>
<td></td>
<td></td>
<td class=etiqueta>Gastos de gestión:</td>
<td><input type=text name=gestion class=campo size=10></td>
</tr>
<tr>
<tdclass=etiqueta>Resultado:</td>
<td><input type=text name=resultado class=campo size=10></td>
<!--Ordena suma a javascript (codigo arriba) -->
<td><input type=button name=total value=Total onClick="javascript:suma();"></td>
<td><input type=text name=total class=campo size=10 style="color:red; text-align: right"></td>
</tr>
</table>
</form> 
  #4 (permalink)  
Antiguo 07/08/2006, 13:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 7
Antigüedad: 17 años, 9 meses
Puntos: 0
agradecimiento

Primero de todo quiero daros las gracias por vuestra inestimable dedicación.
La verdad es que no esperaba unas respuestas tan rapidas y precisas...queda claro que sabeis un rato largo

Mañana lo probaré en el trabajo y os diré que tal,...de verdad muchas gracias me habéis quitado un peso de encima, quedo muy agradecido y contento...

el yebras.


P.D: el alert lo habia puesto para testear el boton "total" xDD
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 05:21.