¿Cómo establecer el enfoque en un botón de imagen mientras se carga la página?

Puedo hacer que un botón de imagen se enfoque mientras carga la página. He establecido el valor TabIndex del botón Imagen en "-1" en el lado del script, mientras presiono la tecla tabulador, el índice de la pestaña cambia para todos los controles que incluyen exactamente el botón Imagen, pero quiero que el botón Imagen esté enfocado mientras se carga la página.

¿Existe alguna diferencia entre el botón Imagen y otros controles? ¿Qué propiedad o función debo usar para establecer el enfoque?

Estoy usando la siguiente línea para establecer el enfoque, pero no funciona:

ScriptManager1.SetFocus(imgSearch1);

Gracias de antemano.

preguntado el 08 de noviembre de 11 a las 11:11

¿Has probado estas opciones ... stackoverflow.com/questions/45827/… -

imgSearch1 es el botón que desea enfocar? No estoy tan familiarizado con ASP.NET, pero debería haber un método Focus () que se pueda llamar directamente en el control y enfocar. -

ya tengo función, función imgSetFocus () {var ele = document.getElementById ('TabContainer1_tabCountry_imgSearch1'); ele.tabIndex = -1; ele.focus (); } pero muestra un mensaje de error como "htmlfile: No se puede mover el foco al control porque es invisible, no está habilitado o es de un tipo que no acepta el foco". que las propiedades del botón de imagen también están habilitadas y visibles:

2 Respuestas

Una forma sencilla es crear una función de JavaScript y llamarla onLoad en la etiqueta del cuerpo.

respondido 08 nov., 11:15

hola, he llamado a una función javascript como dijiste, function imgSetFocus () {var ele = document.getElementById ('TabContainer1_tabCountry_imgSearch1'); ele.tabIndex = -1; ele.focus (); } pero muestra un mensaje de error como "htmlfile: No se puede mover el foco al control porque es invisible, no está habilitado o es de un tipo que no acepta el foco". que las propiedades del botón de imagen también están habilitadas y visibles. entonces, ¿por qué muestra este error? - Lakshmitha

use document.getElementById ('<% imgSearch1.clientId%>'). focus (); - Bhargav Mistri

está mostrando el error "; esperado" Creo que el formato de su código es correcto solamente, sin error de sintaxis. No entiendo por qué se produce este error. Lo he comprobado todo. - Lakshmitha

función setload () {document.getElementById ('<% = ImageButton1.clientId%>'). focus (); } - Bhargav Mistri

utilice este código: function setload () {document.getElementById ('<% = imgSearch1.clientId%>'). focus (); } - Bhargav Mistri

Prueba esta

imgSearch1.Focus();

o establecer el enfoque primero antes de establecer su tabIndex:

var ele;
function imgSetFocus() {
   ele = document.getElementById('<%= imgSearch1.ClientID %>');
   ele.focus(); 
   setTimeout(function(){ ele.tabIndex = -1 }, 500);
}

respondido 08 nov., 11:19

Nuevamente, muestra el error de tiempo de ejecución "htmlfile: no se puede mover el foco al control porque es invisible, no está habilitado o es de un tipo que no acepta el foco". - Lakshmitha

Creo que estás poniendo estos códigos JS en la cabeza, ¿no? ponlo debajo de la página. \ - Alvin

javascript, naturalmente, no podrá encontrar un control si sus códigos se ejecutan justo antes de que se cree / renderice el control. justo lo que he dicho, póngalo DESPUÉS del control en su marcado, o mejor debajo de la página. (antes del final de la etiqueta del cuerpo ) - Alvin

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.