Este artigo descreve o método de JavaScript para determinar se um usuário modificou o formulário. Compartilhe para sua referência. A análise específica é a seguinte:
Esse código JS pode determinar se o usuário modificou o conteúdo do formulário. Se o formulário for modificado e saiu do navegador, lembrará ao usuário salvar o conteúdo do formulário. É um código muito útil.
função formisdirty (form) {for (var i = 0; i <form.elements.length; i ++) {var element = form.Elements [i]; var tipo = element.type; if (type == "Caixa de seleção" || tipo == "Radio") {if (element.Checked! = Element.DefaultChecked) {return true; }} else if (type == "hidden" || tipo == "senha" || tipo == "text" || tipo == "textAea") {if (element.value! = element.defaultValue) {return true; }} else if (type == "select-one" || tipo == "select-multiple") {for (var j = 0; j <element.Options.Length; j ++) {if (element.Options [j] .Selected! }}} retornar false;}Exemplo de uso: Ao sair do navegador, se o usuário modificar o formulário, o usuário será lembrado se deve salvá -lo.
window.onbeforeUnLoad = function (e) {e = e || Window.Event; if (formisdirty (document.forms ["algumform"])) {// para ie e firefox if (e) {e.returnValue = "você tem alterações não salvas."; } // Para retorno do Safari "Você tem alterações não salvas".; }};Aqui está um código de exemplo completo
A cópia do código é a seguinte: Clique no botão abaixo. Agora altere alguns valores no formulário e clique no botão novamente.
<name de forma = "FOOFORM">
<input type = "text" name = "t"> <br>
<input type = "text" name = "2" value = "padrão"> <br>
<select name = "alguns">
<opção value = "fooo" selected = ""> foo </pption>
<opção value = "bar"> bar </pption>
</select> <br>
</morm>
<button onclick = "alert (formisdirty (document.fofer))"> clique para verificar se o formulário está sujo </botão>
<br>
<Cript>
função formisdirty (form) {
for (var i = 0; i <form.elements.length; i ++) {
var elemento = form.Elements [i];
var tipo = element.type;
if (tipo == "Caixa de seleção" || tipo == "Radio") {
if (element.Checked! = Element.DefaultChecked) {
retornar true;
}
}
caso contrário, if (type == "Hidden" || tipo == "senha" ||
TIPO == "Texto" || tipo == "textarea") {
if (element.value! = element.defaultValue) {
retornar true;
}
}
caso contrário, if (type == "select-one" || tipo == "select-multiple") {
for (var j = 0; j <element.options.length; j ++) {
if (element.options [j] .Selected! =
Element.Options [J] .DefaultSelected) {
retornar true;
}
}
}
}
retornar falso;
}
</script>
Espero que este artigo seja útil para a programação JavaScript de todos.