Foros del Web » Programando para Internet » Javascript »

como generar un campo calculado en un formulario

Estas en el tema de como generar un campo calculado en un formulario en el foro de Javascript en Foros del Web. 1º)Estoy perdido con un "problema" en el manejo de formularios que ya tiene que estar solucionado desde hace mucho tiempo. Se trata de genera un ...
  #1 (permalink)  
Antiguo 25/10/2013, 13:43
 
Fecha de Ingreso: agosto-2013
Mensajes: 40
Antigüedad: 10 años, 8 meses
Puntos: 0
como generar un campo calculado en un formulario

1º)Estoy perdido con un "problema" en el manejo de formularios que ya tiene que estar solucionado desde hace mucho tiempo.

Se trata de genera un campo calculado, sin tener que recoger todos los datos con $get o $post, sino de que la pantalla se vaya refrescando con los camps caluclados que se derivan de los datos que mete el usuario.

He empezado por el caso más sencillo , multiplicar por dos el primer campo del formulario que introduce el usuario y sacarlo en el segundo campo.

2º) Para ello uso el objeto document.nombredelformulario.element[indice].value

y el evento onblur que llama a una funcion en donde el primer campo se multiplic por dos.

<form name="cuentas">
<input type="int" name="numeropiezas0" value="0" onblur="calcula">

<input type="int" name="preciopiezas0" value="0" >

<br />

<input type="int" name="numeropiezas1" >
<input type="int" name="preciopiezas1" >
</form>

3º) la funcion


<script>
function calcula(){
document.cuentas.element[1].value=2*document.cuentas.element[0].value

return document.cuentas.element[1].value
}
</script>

4º) No me funciona¿Qué estoy haciendo mal?

Muchas gracias a todos
  #2 (permalink)  
Antiguo 25/10/2013, 14:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: como generar un campo calculado en un formulario

fíjate en los cambios que he realizado
Cita:
function calcula(t){
document.cuentas.elements[1].value=2*t.value;
}


<form name="cuentas">
<input type="int" name="numeropiezas0" value="0" onblur="calcula(this)">

<input type="int" name="preciopiezas0" value="0" >

<br />

<input type="int" name="numeropiezas1" >
<input type="int" name="preciopiezas1" >
</form>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 26/10/2013, 04:46
 
Fecha de Ingreso: agosto-2013
Mensajes: 40
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: como generar un campo calculado en un formulario

GRacias Isabel:

1º) Me ha funcionado.

2º) He intentado hacer los mismo para posibles filas del formulario y ya no me funciona.He cogido el caso más simple , dos filas:

<script>

<form name="cuentas">
var f=0
for (f=0 ;f<2 ; f++){
<input type="int" name="numeropiezas" value="0" onblur="calcula(this,f)" >

<input type="int" name="preciopiezas" value="0" >

<br />
}

</form>

<script>

function calcula(t,f1){
var f1
document.cuentas.elements[f1+1].value=2*t.value;
return document.cuentas.elements[f1+1].value
}
</script>
  #4 (permalink)  
Antiguo 28/10/2013, 10:44
 
Fecha de Ingreso: agosto-2013
Mensajes: 40
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: como generar un campo calculado en un formulario

GRacias Isabel:

1º) Me ha funcionado.

2º) He intentado hacer los mismo para posibles filas del formulario y ya no me funciona.He cogido el caso más simple , dos filas:

<script>

<form name="cuentas">
var f=0
for (f=0 ;f<2 ; f++){
<input type="int" name="numeropiezas" value="0" onblur="calcula(this,f)" >

<input type="int" name="preciopiezas" value="0" >

<br />
}

</form>

<script>

function calcula(t,f1){
var f1
document.cuentas.elements[f1+1].value=2*t.value;
return document.cuentas.elements[f1+1].value
}
</script>

Etiquetas: campo, formulario, funcion, input
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 09:48.