2009-02-02 7 views
2

Je gère un site dans ASP, l'une des tâches consiste à mettre l'accent sur la zone de texte sur une page. Voici ce que j'ai essayé:Mise au point dans ASP

<script type="text/javascript"> 
<!-- 
document.psForm['password'].focus(); 
//AND 
document.getElementById("password").focus(); 
--> 
</script> 

Je ne pense pas que cela fonctionnerait ... et il n'a pas:

<form id="psForm" action="logonpw.asp" method="post" defaultfocus="password"> 

Cela ne fonctionne pas:

<body onload="javascript:docuument.psForm.password.focus();"> 

Voici la forme:

<form id="psForm" action="logonpw.asp" method="post"> 
    <table border="0" cellpadding="5"> 
    <tr> 
    <td> 
      Password: 
     </td> 
    <td> 
     <input type="password" name="password" value="<%= password %>" size="50"> 
     </td> 
     </tr> 
    </table> 
</form> 
+0

Il y a une faute de frappe dans votre corps onload la version – keithwarren7

+0

retagged, le fait qu'il est ASP est non pertinent –

+0

BTW, vous n'avez pas besoin d'envelopper votre JavaScript dans les commentaires: seuls les navigateurs nés avant 1997 afficheront votre code au lieu de l'exécuter. –

Répondre

5

Essayez ceci: Ajouter:

id="password" 

à la balise d'entrée, puis utilisez:

document.getElementById("password").focus(); 
+0

Combiné avec Greg Ogle réponse, j'ai une solution réalisable. – NitroxDM

1
<body onload="javascript:docuument.psForm.password.focus();"> 

devrait être

<body onload="javascript:document.psForm.password.focus();"> 

Vérifier l'orthographe ...

+0

Merci d'avoir attrapé ça, mais ça n'a pas aidé. – NitroxDM

0
<body onload="javascript:document.psForm.password.focus();"> 

document a été mal orthographié

+0

Merci d'avoir attrapé ça, mais ça n'a pas aidé. – NitroxDM

2

a) déplacer

<script type="text/javascript"> 
<!-- 
document.psForm['password'].focus(); 
//AND 
document.getElementById("password").focus(); 
--> 
</script> 

en bas de page source.

b) Code de feu de la charge

<script type="text/javascript"> 
<!-- 
function handleOnLoad(){ 
document.psForm['password'].focus(); 
//AND 
document.getElementById("password").focus(); 
} 
--> 
</script> 
... 
<body onload="handleOnLoad();"> 

et par la manière, seule la deuxième onfocus ferait du bien.

+0

Je devais encore ajouter un ID = "mot de passe" Depuis que l'étiquette de corps est dans un include, j'ai maintenant une erreur sur chaque autre page. Peut-être que cela aidera à convaincre le chef de projet de réécrire cette application. Combiné avec Bravax réponse, j'ai une solution réalisable. Merci! – NitroxDM

+0

Merci Greg. :) J'aurais dû t'élaborer plus comme tu l'as fait. nitroxdm pourquoi obtenez-vous une erreur sur chaque autre page? Vous pouvez ajouter un appel de fonction javascript à l'événement onload à l'aide de JQuery, par exemple, pour cette seule page. N'effectuant ainsi pas les autres. – Bravax

+0

Yeppy .. J'ai raté ça. La solution JQuery mentionnait "$ (document) .ready (function() {// Votre code ici ...});" attendra que tout le DOM soit chargé, ce qui prévient les problèmes mais peut donner un délai de tir perceptible. –

Questions connexes