Question

J'automatise un document avec HTML et JavaScript via MS Notepad. Jusqu'à présent, j'ai beaucoup de texte, quelques zones de texte et un bouton permettant d'exécuter une fonction javascript après la saisie d'un numéro dans l'une des zones de texte. Ce document n'est que partiellement complété; Cependant, j'ai remarqué qu'après avoir ajouté des entrées dans mes champs de texte puis appuyé sur le bouton, toutes mes entrées étaient effacées. Je crois que c'est un problème de postback d'une certaine sorte; Cependant, je pensais que l'utilisation d'un événement onlick avec javascript n'exécuterait pas une commande côté serveur. En outre, mon document est tout code côté client. Fondamentalement, il s’agit uniquement de texte, de HTML et, actuellement, d’une fonction JS.

En guise de réitération, est-ce que quelqu'un pourrait savoir pourquoi mes entrées dans la zone de texte sont effacées après l'exécution de l'événement onclick d'un bouton, et comment y remédier? De plus, l'événement onclick exécute la fonction JS, qui est une instruction if qui ajoute plus de texte au document.

Merci,

DFM

Était-ce utile?

La solution

Si vous avez un bouton <input type="submit"> dans votre formulaire, lorsque vous appuyez sur le bouton, le formulaire est soumis, même si vous avez un gestionnaire onclick. Il existe plusieurs façons de résoudre ce problème *, mais le moyen le plus simple consiste à remplacer le bouton par type="button", ce qui est identique, sauf que cliquer ne permet de rien envoyer.

<input type="button" onclick="checkEntries()" />

* Parmi les autres solutions, citons l'ajout de return false à votre gestionnaire onclick="checkEntries(); return false", comme dans onsubmit="return false", ou l'ajout de <form> à l'élément <=>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top