Attribut Autofocus de HTML5 ne fonctionne pas uniquement dans FireFox quand <Form><input> sont chargés via Ajax. POURQUOI?
Ci-dessous est la forme que j'ai chargé via ajax. Quand je lance la page de formulaire directement puis autofocus sur c_name fonctionne dans firefox, mais lorsqu'il est chargé avec de l'ajax il n'est pas! Il fonctionne très bien avec opera/safari/chrome si!
<form action="client_entry_action.php" method="post" id="client_entry_form" name="client_entry_form">
<fieldset id="client_info_1">
<label for="c_name">Name:</label>
<input type="text" name="c_name" required placeholder="Name" autofocus="autofocus" />
<label for="c_phone">Phone Number:</label>
<input type="tel" name="c_phone" required placeholder="Mobile/Phone Number" />
<label for="c_email">Email:</label>
<input type="email" name="c_email" required placeholder="[email protected]" />
<label for="c_address">Address:</label>
<textarea name="c_address" ></textarea>
</fieldset>
<fieldset id="client_info_2">
<label for="c_info">Additional notes:</label>
<textarea name="c_info" ></textarea>
<input type="submit" name="add_client" value="Add Client" />
</fieldset>
</form>
Vous devez vous connecter pour publier un commentaire.
Autofocus n'est fait avant onload a tiré; il est destiné à être un déclarative manière de spécifier l'accent sur chargement initial de la page.
utiliser settimeout après l'appel ajax sur le div, ou à l'aide de jquery utilisation .ajaxComplete, ou .fait
}
}
Je sais que c'est vieux, mais je viens d'avoir ce problème et peut-être que ça aide quelqu'un.
Si vous utilisez jQuery cela fonctionne:
Javascript serait quelque chose comme ceci (exemple général):
Mais vous devez appeler cette fonction après votre formulaire est chargé via ajax!
J'ai absolument le même problème: l'attribut Autofocus ne fonctionne pas dans FF, au moins dans la dernière version.
J'ai aussi une fenêtre pop-up avec un formulaire. Ajax est utilisé pour ce pop-up initiation.
J'espère que ces liens vous seront utiles:
Discussion sur webmasters.stackexchange.com
Une autre discussion sur stackoverflow
Mais je n'ai pas trouvé plus simple et bonne à la recherche de solution, sauf à l'aide de javascript hacks.