ci-dessous est la forme que j'ai chargée via Ajax. Lorsque j'exécute la page de formulaire directement, Autofocus sur C_Name fonctionne dans Firefox mais lorsqu'il est chargé avec Ajax, il ne le fait pas! Cela fonctionne bien avec Opera / Safari / Chrome!
5 Réponses :
autofocus n'est fait que avant que le surcharge ait tiré; Il est censé être une manière déclarative de spécification de la mise au point sur la charge initiale de la page. P>
Cela fonctionne bien avec Opera / Safari / Chrome! Pourriez-vous s'il vous plaît élaborer un peu plus?
La spécification ne définit pas le comportement exact de l'attribut, de sorte que toutes les implémentations impliquées sont en réalité conforme aux spécifications. La spécification fait i> décrit quelle est l'idée générale, mais différents navigateurs interprètent quel comportement qui devrait conduire différemment.
J'ai le problème absolument même: l'attribut Autofocus ne fonctionne pas dans FF, au moins dans la dernière version. J'ai aussi une fenêtre contextuelle avec une forme. Ajax est utilisé pour cette initiation pop-up. P>
J'espère que ces liens vous seront utiles: p>
Discussion sur webmasters.stackexchange.com p>
Une autre discussion sur Stackoverflow p>
Mais je n'ai pas trouvé de solution plus simple et plus belle sauf en utilisant des hacks JavaScript. P>
Je sais que c'est vieux, mais je viens d'avoir ce problème et peut-être que cela aide quelqu'un.
Si vous utilisez jQuery ces travaux: p> JavaScript serait comme ceci (exemple général): P> document.getElementById('element').focus();
Utilisez Settimeout après Ajax Appel sur la DIV, ou à l'aide de JQuery Utilisez .ajaxComplete ou .done } p> } p>
Ceci a fonctionné pour moi: Ceci est différent des autres solutions postées ici car le script qui place la mise au point sur l'élément autofocus est ajouté à la DOM en même temps que l'élément autofocus lui-même garantissant ainsi que le script fonctionne une fois que le DOM est terminé la mise à jour. P> Notez que cette solution nécessite JQuery. Si vous n'utilisez pas JQuery, vous pouvez toujours le faire assez facilement avec QuerySelectorallall P> document.getElementById("element").innerHTML = form+"<script>document.querySelectorAll('[autofocus]')[0].focus()<\/script>"