Foros del Web » Programando para Internet » PHP »

Posicionar scroll luego de hacer submit

Estas en el tema de Posicionar scroll luego de hacer submit en el foro de PHP en Foros del Web. Hola amigos Tengo un formulario(PHP) bien largo (aparece el scroll vertical) y en la parte de abajo del formulario hago varios submit, desde javascript, para ...
  #1 (permalink)  
Antiguo 06/03/2005, 06:37
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 12 años, 10 meses
Puntos: 0
Posicionar scroll luego de hacer submit

Hola amigos

Tengo un formulario(PHP) bien largo (aparece el scroll vertical) y en la parte de abajo del formulario hago varios submit, desde javascript, para cargar unos datos de la BD necesarios para seguir llenando el formulario. Por ejemplo aca uno de ellos:

function elegirProvincia(selProvi)
{
if (selProvi.value!=0)
{
var objHdnProvi = document.getElementById("hdn_provi_seleccion");
objHdnProvi.value = selProvi.value;
document.frm_institucion.submit();
}
}

Bueno, resulta que todo va de maravilla, pero cuando regreso del submit la página con el formulario aparece al principio, y no donde me había quedado llenadola. Cómo puedo hacer para que luego del submit, la página se carge y me posicione en la parte donde me habia quedado?

Saludos

Última edición por MrAndersonWEB; 06/03/2005 a las 07:03 Razón: mostrando ejem de javascript que hace el submit
  #2 (permalink)  
Antiguo 06/03/2005, 06:46
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
cuando haces el refresh (imagino que haces esto para volver), en lugar de poner la URL del administrador pone javascriot:history.back() y eso hará que vuelvas atrás sin modificar nada (excepto campos password).

Otra forma es llevarte todas las variables y en el administrador colocar en value da cada input dicha variable, si esta esta se llenara el campo, de lo contrario no... (esto es lo mas recomendado)
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 06/03/2005, 07:17
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 12 años, 10 meses
Puntos: 0
Cita:
Iniciado por FuLaNo_
cuando haces el refresh (imagino que haces esto para volver), en lugar de poner la URL del administrador pone javascriot:history.back() y eso hará que vuelvas atrás sin modificar nada (excepto campos password).
Lo que quise decir con refrescar la página no era un F5, sino que para seguir llenando el formulario tengo que cargar unos combos con datos de la BD de acuerdo a lo que el usuario haya llenado; y para cargar los combos le hago submit al formulario. Cuando regresa del submit la página se muestra al principio, y no en la parte donde estaba llenando.


Cita:
Iniciado por FuLaNo_
Otra forma es llevarte todas las variables y en el administrador colocar en value da cada input dicha variable, si esta esta se llenara el campo, de lo contrario no... (esto es lo mas recomendado)
Respecto a lo quem me dices, yo hago esto para ponerle los value y no perder lo que el usuario lleno.

Todo lo pongo en el mismo archivo: formulario.php

// al principio
$inst_nombre = (isset($_POST["inst_nombre"])? $_POST["inst_nombre"] : null);

// en la parte del HTML del Formulario
<td width="210" align="right" class="itemtabla">Nombre : </td>
<td><input name="inst_nombre" type="text" id="inst_nombre" value="<?php echo $inst_nombre; ?>"></td>

Saludos
  #4 (permalink)  
Antiguo 06/03/2005, 09:17
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

No puedes controlar desde PHP el funcionamiento del navegador. Puedes usar simple HTML. ¿como haces en HTML cuando quieres que un link posicione la pagina en un punto en concreto? Pues con pagina.html#fragmento, donde en la pagina has definido un <a name="fragmento"></a>. Pues en este caso puedes hacer lo mismo, añadiendo el fragmento a la URL del action del form.

O al menso si es que te he entendido bien tu duda.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 06/03/2005, 10:04
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
yo no me referia al refresh de explorer, sino a que, cuando cargas algo, el archivo que se encarga de cargarlo tendría que tener un:
<META HTTP-EQUIV="Refresh" content = "3; URL=javascript:history.back()">

De esta forma volverias al formulario sin perder el contenido de los campos, y estarias situado en el mismo lugar de la pagina (de la scroll, como dices).
__________________
I Love Programming...
  #6 (permalink)  
Antiguo 06/03/2005, 16:24
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 12 años, 10 meses
Puntos: 0
Ya lo solucioné, efectivamente era algo de HTML. Gracias Josemi y FuLano por su ayuda. Me pareció muy interesante lo de los meta. :O lo probaré apenas pueda.
  #7 (permalink)  
Antiguo 01/12/2005, 19:10
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 12 años, 8 meses
Puntos: 0
Y como asi era??? porque yo tambien quiero hacer lo mismo...
__________________
Mi blog
  #8 (permalink)  
Antiguo 02/12/2005, 08:50
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 12 años, 8 meses
Puntos: 0
O es que la pregunta la tengo que hacer en el foro de HTML???
__________________
Mi blog
  #9 (permalink)  
Antiguo 02/12/2005, 11:15
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 12 años, 8 meses
Puntos: 0
Alguien se la sabe?????
__________________
Mi blog
  #10 (permalink)  
Antiguo 07/12/2005, 08:58
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 12 años, 8 meses
Puntos: 0
Todavía no lo saco..... Si alguien porfavor??? Si es con las anclas, como se hace?
__________________
Mi blog
  #11 (permalink)  
Antiguo 07/12/2005, 09:28
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 12 años, 8 meses
Puntos: 0
Uff!!! porfin lo saqué!!! si era algo sencillo!!! con javascript!!

cree una función asi:
Código:
<script language="javascript">
function envia(direccion){
var d=direccion;
var d1=document.Formencuesta.action;
document.Formencuesta.action=d1+"#"+d;
document.Formencuesta.submit();
}
</script>
Y que el PHP me escriba la funcion envia en vez del submit:

Código HTML:
<h2><a name="6"></a>VI. ITEM 6</h2>
<p>
<input name="checkuno[]" value=1 type=checkbox onclick="envia('6')"> Checkbox1 
<input name="checkdos[]" value=1 type=checkbox onclick="envia('6')"> Checkbox2
__________________
Mi blog
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 07:24.