Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

486
Visualizações
.focus() no funciona en Chrome y Edge

Para nuestro sitio web, usamos el navegador de Internet antes y estaba totalmente bien sin errores, pero a partir de ayer migramos a navegadores modernos y cuando hacemos clic, recibimos el mensaje de error Uncaught TypeError: document.hwinv.datatyp.options.focus is not a function en la herramienta de desarrollo. El error está causando en document.hwin.datatyp.options.focus(); línea. Antes de usarlo en Edge, estaba totalmente bien y en este momento está causando ese error. ¿Puedo saber cómo puedo solucionarlo? Se agregó el enlace JS Fiddle para verificar. Además, vi agregar setTimeout pero no sé cómo funciona.

Enlace JsFiddle, puede ver la parte inferior de la web, hay 2 botones y si hago clic en esos botones, se produce el error para .focus ()

 function gonext() { var myIndex = document.hwinv.datatyp.options.selectedIndex; var chkvalue=document.hwinv.datatyp.options[myIndex].value; if(!(chkvalue)) { document.hwinv.datatyp.options.focus(); alert("Please select Hardware Type!"); } else { document.hwinv.step.value='11'; document.hwinv.submit(); } }
 <body style="margin=0px;" alink="#0000ff" vlink="#0000ff" bgcolor="#ffffff" window.focus="document.hwinv.datatyp.options.focus();"> <form name="hwinv" method="post" action="inventory.php" target="bottomview">

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¡Bienvenido a StackOverflow!

Oh chico. Si este es el tipo de HTML que tiene su sitio, migrarlo para usar HTML, CSS y JS más "modernos" será un proceso bastante largo. Pero tiene que hacerse, ahora que IE está oficialmente muerto.

Alternativa: use el "Modo Internet Explorer" en Edge

Es posible que no sepa que hay una forma de hacer que Edge ejecute un sitio de forma casi idéntica a cómo lo habría hecho IE. Lo que podría ser suficiente para que su sitio vuelva a funcionar. Encontré algunasinstrucciones decentes sobre cómo hacerlo .

Sin embargo, no confiaría en eso como una solución a largo plazo. En algún momento, necesitará migrar este sitio para usar HTML5, CSS3 y JS moderno. Pero podría ayudarte en un apuro.

Arreglando tu código

Para empezar, la respuesta específica a su pregunta sobre la excepción es que el método focus() no existe en la propiedad .options de las entradas seleccionadas. Más bien, existe en el propio objeto de entrada seleccionado.

Pero también queremos tratar con el otro marcado anticuado en el fragmento que publicaste.

  1. window.focus="..." no es una cosa. Hay atributos on____ en los elementos, como onfocus en su caso, pero se considera una mala práctica usarlo, por lo general. En su lugar, registre un controlador de eventos en el código JS como hago a continuación.
  2. style="margin=0px" es incorrecto. Dentro de los atributos de estilo en línea, la sintaxis es property: value , no property=value .
  3. alink , vlink y bgcolor deben reemplazarse con el CSS apropiado, como lo he hecho a continuación. alink corresponde al body a , vlink corresponde al body a:visited y bgcolor corresponde al body { background-color: white; } .

 function gonext() { var myIndex = document.hwinv.datatyp.options.selectedIndex; var chkvalue = document.hwinv.datatyp.options[myIndex].value; if (!(chkvalue)) { document.hwinv.datatyp.focus(); alert("Please select Hardware Type!"); } else { document.hwinv.step.value = '11'; document.hwinv.submit(); } } document.addEventListener('DOMContentLoaded', function () { document.hwinv.datatyp.focus(); });
 body { margin: 0; background-color: white; } body a { color: blue; } body a:visited { color: blue; }
 <body> <form name="hwinv" method="post" action="inventory.php" target="bottomview"> <select name="datatyp"> <option>Hammer</option> <option>Spanner</option> <option>Other</option> </select> </form> </body>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda