Cet article décrit la méthode de JavaScript pour déterminer si un utilisateur a modifié le formulaire. Partagez-le pour votre référence. L'analyse spécifique est la suivante:
Ce code JS peut déterminer si l'utilisateur a modifié le contenu du formulaire. Si le formulaire est modifié et quitté le navigateur, il rappellera à l'utilisateur s'il faut enregistrer le contenu du formulaire. C'est un code très utile.
fonction formIsDirty (form) {for (var i = 0; i <form.elements.length; i ++) {var element = form.elements [i]; var type = element.type; if (type == "checkbox" || type == "radio") {if (element.checked! = element.defaultchecked) {return true; }} else if (type == "Hidden" || type == "mot de passe" || type == "text" || type == "textarea") {if (element.value! = element.defaultValue) {return true; }} else if (type == "select-one" || type == "select-multiple") {for (var j = 0; j <element.options.length; j ++) {if (element.options [j] .selected! = element.options [je] .defaultSelected) {return true; }}} return false;}Exemple d'utilisation: Lors de la sortie du navigateur, si l'utilisateur a modifié le formulaire, l'utilisateur sera rappelé s'il faut l'enregistrer.
window.onbeforeUnload = function (e) {e = e || window.event; if (formIsDirty (document.forms ["SomeForm"])) {// pour IE et Firefox if (e) {e.reTurnvalue = "Vous avez des changements non sauvés."; } // Pour safari, retourne "vous avez des changements non sauvés."; }};Voici un exemple complet de code
La copie de code est la suivante: Cliquez sur le bouton ci-dessous. Changez maintenant certaines valeurs sous forme et cliquez à nouveau sur le bouton.
<form n name = "fooform">
<input type = "text" name = "t"> <br>
<input type = "text" name = "2" value = "default"> <br>
<select name = "some">
<option value = "fooo" selected = ""> foo </ option>
<Option Value = "Bar"> Bar </ Option>
</lect> <br>
</ form>
<Button onClick = "alert (ForMisDirty (document.fooform))"> Cliquez pour vérifier si le formulaire est sale </ftones>
<br>
<cript>
fonction formisedirty (form) {
pour (var i = 0; i <form.elements.length; i ++) {
var element = form.Elements [i];
var type = element.type;
if (type == "checkbox" || type == "radio") {
if (element.checked! = element.defaultchecked) {
Retour Vrai;
}
}
else if (type == "Hidden" || type == "mot de passe" ||
type == "text" || type == "textarea") {
if (element.value! = element.defaultValue) {
Retour Vrai;
}
}
else if (type == "select-one" || type == "select-multiple") {
pour (var j = 0; j <element.options.length; j ++) {
if (element.options [j] .selected! =
element.options [j] .defaultSelected) {
Retour Vrai;
}
}
}
}
retourne false;
}
</cript>
J'espère que cet article sera utile à la programmation JavaScript de tous.