J'ai un html très simple avec un div pour les messages d'information et un formulaire avec deux boutons (en fait deux types d'entrée présentent et reset)innerHTML ne pas appliquer du gestionnaire d'événements
l'info div # est dynamiquement à (ajax) . En JavaScritpt, j'attends la fenêtre pour charger et j'enregistrer l'entrée de remise à zéro pour l'événement onreset:
window.addEventListener("load", onloadWindow);
function onloadWindow() {
// Document loaded, register onreset event for my form
document.getElementById("formId").addEventListener("onreset", onresetForm);
}
// Reset al the infos
function onresetForm(event) {
document.getElementById("formId").reset();
document.getElementById("info").innerHTML = '';
}
<body>
<div id="info"></div>
<form id='formId' action='#' method='post'>
<label for='cod'>Code:</label>
<input id='cod' type='text' name='cod'><br>
<label for='desc'>Description:</label>
<input id='desc' type='text' name='desc'><br>
<label for='type'>Type:</label>
<input id='type' type='text' name='type'><br>
<input id='upd' type='submit' name='upd' value='Update'>
<input id='res' type='reset' name='res' value='Reset'>
</form>
</body>
Tous les champs de texte sous la forme d'être effacé, mais le innerHTML = ''
pour la La fonction div # info ne fonctionne pas, les anciens messages générés par ajax ne sont pas supprimés. Est-ce que j'ai râté quelque chose?
Soit dit en passant, je suis en utilisant un template Smarty pour la forme, mais je ne pense pas que cela est lié à mon problème
Le nom de l'événement doit être "remise à zéro", pas "onreset". – Pointy
Oui et supprimez cette ligne 'document.getElementById (" formId "). Reset();' car cela provoquera une boucle infinie. –
erreur stupide débutant. Je vous remercie – rodrunner