Posición de un formulario

Saludos,
Te quería hacer la siguiente consulta. ¿Sabes cómo hacer en una aplicación web para que cuando se recarga una página web no vuelva al principio de la misma?. Lo he probado con la propiedad smartnavigation = true, pero los controles pierden sus propiedades cuando se recarga la página.
Muchísimas gracias por adelantado

1 respuesta

Respuesta
1
No entiendo muy bien lo que me preguntas, así que te haré un par de preguntas para poder ayudarte:
1) En que lenguaje estas programando la página web (asp, java, php, html, ¿etc)?
2) ¿Cómo recargas la página? ¿Desde el encabezado de la página y por tiempo? Con java, php,¿etc.? ¿Con el botón y el código action?
3) ¿Quieres qué cuando se recargue se seleccione automáticamente un determinado control? Por ejemplo, ¿dónde se produjo el error?
1) Estoy programando en .NET (C#) y javascript
2) Tengo definidos en la página varios botones, combos, etc, y cada vez que se varían, se devuelve el control al servidor, ya que debe consultar una BBDD y actualizar algunos controles
3) Me gustaría que al recargar la página se mantuviera en la misma posición que estaba cuando
se devuelve el control al servidor.
Muchas gracias de nuevo por tu tiempo
Un saludo
Tu código html (no importa si lo generas con php, asp, .net, etc) debería tener un form donde pones los controles, por ejemplo:
<form method="POST" action="a.html" name="principal">
Que contiene los controles, por ejemplo un TextBox:
<input type="text" name="tipo_doc" size="20" value="1">
En algun lugar tenes declaradas las funciones de javascript, por ejemplo:
//comprueba si el valor de la TextBox es nulo
if (document.principal.tipo_doc.value == "") {
//muestra mensaje de error
alert("El campo tipo de documento no puede ser NULL." );
//selecciona el control.
document.principal.tipo_doc.focus();
//termina con la funcion
return false;
}
Todo lo antes mostrado es un ejemplo. Tené mucho cuidado con los nombres de los controles y del formulario.
Te enseñe como seleccionar un control (ponerlo el foco) con javascript, pero como sabes cual control seleccionar. Esto depende de como este hecha tu página, pero a mi se me ocurrió una idea:
Dentro del formulario podes crear controles que no se verán (del tipo hidden), por ejemplo:
<input type="hidden" name="agregando" value="1">
Al principio, cuando el usuario accede a la página la primera vez, este control (el hidden) debería tener como valor el primer control visible, y después es cuestión de cambiárselo al que queremos que se seleccione (el ultimo que estaba seleccionado, por ejemplo). Para hacer esto tienes que modificar un poco el código javascript de antes, y tienes que ejecutar la función apenas se carga la página, por ejemplo:
<HTML>
<HEAD><title></title></head>
<BODY onLoad="seleccionarControl();">
<form method="POST" action="a.html" name="principal">
<input type="text" name="Control1" size="20" value="">
<input type="text" name="Control2" size="20" value="">
<input type="hidden" name="seleccionar" value="Control2">
</form>
<script language="JavaScript">
<!--
function seleccionarControl() {
if (document.principal.seleccionar.value == "Control2") {
document.principal.Control2.focus();
return false;
}
else {
//Si dice Control1 o algo erróneo, selecciona el primer control visible, si no selecciona el indicado.
document.principal.Control1.focus();
return false;
}
//-->
</script>
</BODY>
</HTML>
Otra forma, puede ser especificando variables y utilizando C#, pero para eso te las vas a tener que ingeniar vos (nunca utilice C#), aunque no debería ser muy difícil.
Si te sirvió la respuesta, no te olvides de ponerle puntaje.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas