Foros del Web » Programando para Internet » Javascript »

pasar valor de text a campo oculto

Estas en el tema de pasar valor de text a campo oculto en el foro de Javascript en Foros del Web. Hola a todos, como puedo pasar lo que se escribe dentro de un campo de texto que se encuentra fuera del formulario, a un campo ...
  #1 (permalink)  
Antiguo 15/03/2009, 18:04
 
Fecha de Ingreso: febrero-2002
Mensajes: 49
Antigüedad: 22 años, 2 meses
Puntos: 0
pasar valor de text a campo oculto

Hola a todos, como puedo pasar lo que se escribe dentro de un campo de texto
que se encuentra fuera del formulario, a un campo oculto.

ejemplo:

<input type="text" name="nro" id="nro" />
<br />
<br />
<br />
<form id="form1" name="form1" method="post" action="ver.asp">
<input type="submit" name="button" id="button" value="Enviar" />
<input name="nro" type="hidden" value="">
</form>

muchas gracias
__________________
Sebcun
  #2 (permalink)  
Antiguo 15/03/2009, 19:09
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: pasar valor de text a campo oculto

mira, lo que yo haría (no se si será lo mejor) sería lo siguiente:

1) colocaria el codigo del formulario asi:
<form action="" method="post" onsubmit= "return validar()">

donde validar es una función de javascript que llamará cuando sea pulsado el botón de tipo submit y solamente enviará el formulario si ésta función devuelve true.

2) al campo que esta por dentro del formulario le agrego el id:

<input name="nro" id="nro2" type="hidden" value="">

3) hago la función validar

Código:
function validar(){
	var numero=document.getElementById("nro").value;
        var numeroculto=document.getElementById("nro2");

        /*comprobamos que no este vacío, si esta vacío me avisa y no me deja enviar el formulario, sino coloca el valor del numero en el campo oculto y envía el formulario. te dejo a ti de que coloques la validación completa del if */
        
        if(numero==""){
                 alert("campo vacio");
                 return false;
            }else{
                      numeroculto.value=numero;
                      return true;
                    }
}//fin de la función validar

recordar que esta funcion debe ir dentro de:
<head><script>
la funcion validar va acá
</script> </head>


espero que te sirva...
  #3 (permalink)  
Antiguo 16/03/2009, 17:40
 
Fecha de Ingreso: febrero-2002
Mensajes: 49
Antigüedad: 22 años, 2 meses
Puntos: 0
Respuesta: pasar valor de text a campo oculto

el_crespo, muy buena, pero te oculte parte del problema y me salió mal.
la cuestión es que a parte de enviar el campo oculto, traigo datos de una base y por cada registro hago un loop y genero el mismo formulario con el mismo campo oculto.
y el script me carga el campo oculto del primer registro, del resto no. Por lo tanto si envío los datos del primer form, todo bien, pero si hago submit en cualquier otro registro no me envía el dato.

Tenés idea como puedo hacer?
Perdoname que no te plantié todo de entrada, pero pensé que iba a funcionar.
__________________
Sebcun
  #4 (permalink)  
Antiguo 17/03/2009, 21:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: pasar valor de text a campo oculto

ok, mira.. lo que pasa es que el código anterior esta diseñado precisamente para una sola forma por página.. pero en tu caso se me ocurre algo asi:

1) dejamos el campo oculto asi:
Código HTML:
<input name="nro2" id="nro2" type="hidden" value=""> 

2) hacemos algunos cambios en el codigo javascript:


Código javascript:
Ver original
  1. function validar(){
  2.  
  3. var numero=document.getElementById("nro").value;
  4.  
  5. if(numero!=""){
  6. if(document.forms.length > 0) { //acá miramos si hay una o más formas
  7.   for(var i=0; i < document.forms.length; i++) {// con este for recorremos todas las formas
  8.  
  9. numeroculto=document.forms[i].nro2; //con esto cargamos el boton oculto de cada forma
  10.           if(numeroculto.value=="") //miramos si aún esta vacío el campo oculto
  11.            numeroculto.value=numero;//acá a cada campo oculto le asignamos el valor del campo que está por fuera de los formularios
  12.  
  13. }//cierra for
  14.  
  15. }
  16.  
  17. }else
  18.    {
  19.           alert("campo vacio");
  20.                  return false;
  21.    }
  22.  
  23. return true;
  24.  
  25. }//cierra funcion validar()

el problema con esta función es que cada vez que se oprima un boton submit (de cualquier forma), recorrerá TODAS las formas de nuevo, te dejo a ti la tarea para que la modifiques y hagas de una manera más "limpia" lo que quieres..


Espero te sirva como guia....
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 14:23.