Foros del Web » Programando para Internet » Javascript »

mantener el valor de un input sin dar a submit

Estas en el tema de mantener el valor de un input sin dar a submit en el foro de Javascript en Foros del Web. Hola, muy buenas! Estoy intentando conseguir que los datos que el usuario escribe en un formulario se mantengan aunque el mismo cambie de página y ...
  #1 (permalink)  
Antiguo 26/02/2011, 09:01
 
Fecha de Ingreso: octubre-2010
Mensajes: 189
Antigüedad: 13 años, 5 meses
Puntos: 0
mantener el valor de un input sin dar a submit

Hola, muy buenas!

Estoy intentando conseguir que los datos que el usuario escribe en un formulario se mantengan aunque el mismo cambie de página y regrese( sin haber dado previamante a submit).
Creo que yengo que usar OnChange y/o Onclick y coger el valor con getElementById, pero no se cómo.

Digamos que tengo esto en el form:
Código PHP:
<input type="text" name="coche" id="coche" onChange="mantener"
y el script de javascript algo así:

<script type="text/javascript">
function mantener(){
var mantener=document.getElementById('coche');
}
</script>

Bueno, tengo muy pocos conocimientos de javascript, no sé cómo crear la función para que el input mantenga el valor dado por el usuario.
Pensé en añadir algo como:
document write("valor='mantener'");

pero lo que haría es imprimir eso literalmente, no su valor.

Gracias de antemano, un saludo.
  #2 (permalink)  
Antiguo 26/02/2011, 10:46
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 9 meses
Puntos: 310
Respuesta: mantener el valor de un input sin dar a submit

Al pasar a otra página JS deja de tener validez, deberías mandar los values de los input por PHP y luego recogerlos, es lo único que se me ocurre.
Saludos :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 26/02/2011, 11:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 189
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mantener el valor de un input sin dar a submit

Hola,

Gracias cronos2 por contestar,
Supongo que habría que recoger los valores en variables, tipo get, session, etc.., pero para ello debería primero recogerlos con javascript, ¿no?. Lo que no sé es cómo recogerlos..bueno, supongo que los puedo recoger con getElementById, pero cómo los paso a variables en php?.

Bueno, de todas formas, si hacer todo esto es complicado, me planteo , darle al usuario toda la información necesaria via onChange, por ejemplo, para que no cambie de página.

Aún así poder mantener los datos sería fenomenal, sobre todo con un formulario largo.

Un saludo!
  #4 (permalink)  
Antiguo 26/02/2011, 16:42
 
Fecha de Ingreso: octubre-2010
Mensajes: 189
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mantener el valor de un input sin dar a submit

Hola,

he intentado esto:

<script type="text/javascript">
function Pasar(){
document.location.href='otrapagina.php?place=' +document.form.micampo.value;}
</script>


Código PHP:

..
 <
a  href="javascript:Pasar();">otrapagina</a><br />
.. 
,pero no me cambia a la otra página.

Era la idea de la primera parte, para pasar los valores a otra página y luego traerlos y ponerlos como valor de los input.

¿Alguna idea?

Saludos
  #5 (permalink)  
Antiguo 26/02/2011, 18:48
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 11 meses
Puntos: 1485
Respuesta: mantener el valor de un input sin dar a submit

Cita:
  • [...] Estoy intentando conseguir que los datos que el usuario escribe en un formulario se mantengan aunque el mismo cambie de página y regrese( sin haber dado previamante a submit) [...]
  • [...] supongo que los puedo recoger con getElementById, pero cómo los paso a variables en php? [...]
  • [...] he intentado esto:

    <script type="text/javascript">
    function Pasar(){
    document.location.href='otrapagina.php?place=' +document.form.micampo.value;}
    </script> [...]
  • [...] Era la idea de la primera parte, para pasar los valores a otra página y luego traerlos y ponerlos como valor de los input. [...]
buenas...

a mi juicio, no tiene mucho sentido lo que estas planteando. en el inicio mencionas sobre mantener los datos aunque regrese. supongo que te refieres si el usuario utiliza el boton de retroceso. los navegadores -aunque deberia decir algunos porque no estoy del todo seguro- tienen la peculiaridad de que los datos introducidos se mantienen en los campos cuando retrocede en el historial.

luego mencionas sobre obtener los valores por getElementById y pasarlos a php. menos sentido aun me hace porque esa es la funcion de los formularios. ¿por qué embrollarte con un código -como en el tercer punto- donde obtienes los datos para pasarlo a php? claro, donde unico esa practica seria util es si enviaras los datos mediante XMLHttpRequest.

por lo que explicas en el ultimo punto, se entiende que quieres mantener los datos en los campos cuando el usuario vuelve a visitar el formulario o por si alguna razon -como datos incorrectos o incompleto- tuvieras que dirigirlo nuevamente al formulario. en ese caso, puedes usar lenguaje servidor para asignar los datos a los campos. en javascript tambien puedes lograr hacer lo mismo siempre y cuando los datos sean enviado por metodo GET. pero, ¿que sucede si javascript esta inhabilitado? de modo que es mejor manejar ese aspecto desde el servidor.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 26/02/2011, 21:01
 
Fecha de Ingreso: octubre-2010
Mensajes: 189
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mantener el valor de un input sin dar a submit

Hola!,


gracias zerokilled. Bueno, he conseguido hacer lo que pretendía, hehe, gracias en grandísima parte a estos foros, por lo que habeis comentado aquí y lo que he visto en algún otro hilo.

Bueno, seguramente no me he explicado muy bien. Quiero que se mantengan los datos en el formulario porque casi al final del mismo pongo un enlace para que el usuario se informe de algún tema. Entonces, por lo menos en los navegadores que yo he usado no se mantenían los valores.
Muy buena la aclaración de la posibilidad de que Javascript esté deshabilitado, gracias. A lo mejor ello me hace desisitir de la idea, ya lo había pensado también, pero tampoco sería grave en mi caso( realmente no sé que proporción de usuarios tienen javascript deshabilitado, no creo que sean muchos.).

Bueno explico cómo lo he hecho, por si alguien está interesado. He utilizado los scripts que he escrito anteriormente. Puede que me faltara darle el nombre al formulario ( que tal y como está escrito en el script , sería "form").
Paso las variables en el enlace y las recogo con un GET y hago lo mismo al regresar. Luego en el input/s en cuestión pongo:
Código PHP:
$micampo=$_GET[micampo];
..
?>
...
<input type="text" id="micampo" name="micampo" value="<?php echo $micampo;?>">

..
Bueno, tal y como lo planté al principio faltaría la posibilidad de mantener el valor/s si el usuario refresca la página. Me pregunto si se podrá pasar dicha variable originada en javascript a una variable de sesión. Bueno, en cualquier caso tampoco lo necesito para mi caso concreto.

Un saludo y muchas gracias.

p.s ...ah! y sin son más de una variable(como en mi caso):

<script type="text/javascript">
function Pasar(){
document.location.href='otrapagina.php?place=' +document.form.micampo.value
+ '&place2=' +document.form.otrocampo.value;}
</script>

Última edición por breaststroke; 27/02/2011 a las 09:34

Etiquetas: dar, input, mantener, submit
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 02:26.