Saluto tutti del forum
volevo sapere in che modo è possibile verificare se in una form è stato modificato qualche dato in un campo ?
Grazie anticipatamente
Saluto tutti del forum
volevo sapere in che modo è possibile verificare se in una form è stato modificato qualche dato in un campo ?
Grazie anticipatamente
salvo qualche soluzione miglioreOriginariamente inviato da luigi76
Saluto tutti del forum
volevo sapere in che modo è possibile verificare se in una form è stato modificato qualche dato in un campo ?
Grazie anticipatamentesi mette una variabile globale, per esempio:
var modificato = false;
poi si aggiunge l'evento onchange di ogni elemento, e in questo evento si mette: modificato = true
![]()
Pietro
Non so se qualcuno ha fatto caso a Gmail nell'area impstazione
viene abilitato il tasto di salva modifica solo quando è stato modificato qualche elmento del modulo, infatti ne caso in cui si modifica la form e si riporta di nuovo come lo stato iniziale il tasto viene disabilitato di nuovo.
Esiste un modo per verificare la differenza della form iniziale e quella modificata?
Grazie molto
puoi impostare una funzione che a intervalli regolari controlla se il contenuto della textarea è cambiato. Infatti l'evento onchange non si attiva quando si fa copia e incolla
potresti fare una cosa del genere:
Ciaocodice:<head> <script> var testo = ''; function is_modified_ta() { testo_attuale = document.getElementById('msg').value; if (testo_attuale != testo) { try { document.getElementById('salva').removeAttribute('disabled'); } catch(e) { } } testo = testo_attuale; setTimeout('is_modified_ta()', 5000) } function salva() { document.getElementById('salva').disabled = 'disabled'; } window.onload = function() { is_modified_ta(); } </script> <body> <textarea id="msg"></textarea> <input type="button" value="salva" id="salva" onclick="salva()" disabled="disabled" /> </body>
-Fab-
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)
Grazie ma nel caso in cui voglio verificare dinamincamente
se uno dei tanti campi presenti in una form , esiste 1 modo?
Grazie ancora
boh!guarda se può andare:
codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Pagina senza titolo</title> <script language="javascript" type="text/javascript"> // <!CDATA[ var dati_modificati = false; function window_onload() { for (var i = 0; i < document.forms[0].length;i++) { var tempobj = document.forms[0].elements[i]; if(tempobj.attachEvent) tempobj.attachEvent("onchange", function(){self.dati_modificati = true;document.getElementById("Submit1").disabled = false;} ); else if(tempobj.addEventListener) tempobj.addEventListener("change", function(){self.dati_modificati = true;document.getElementById("Submit1").disabled = false;}, false); } } function form1_onreset() { dati_modificati = false document.getElementById("Submit1").disabled = true; } // ]]> </script> </head> <body onload="return window_onload()"> <form id="form1" action="?" onreset="return form1_onreset()"> <textarea id="TextArea1" cols="20" rows="2"></textarea> <input id="Text1" name="Text1" type="text" /> <input id="Checkbox1" name="Checkbox1" type="checkbox" /> <input id="Radio1" name="radio" type="radio" /> <input id="Radio2" name="radio" type="radio" /> <hr /> <input id="Submit1" type="submit" value="submit" disabled="disabled"/> <input id="Reset1" type="reset" value="reset" /> </form> </body> </html>
Pietro
Non va perchè
se modifico i valori nei campi mi abilita il tasto.
Ma nel momento in cui riporto manualmente i valori allo stato iniziale
il tasto dovrebbe essere disabilitato, quindi non tiene conto dello stato iniziale.
Grazie ancora
sinceramente non capisco proprioOriginariamente inviato da luigi76
Non va perchè
se modifico i valori nei campi mi abilita il tasto.
Ma nel momento in cui riporto manualmente i valori allo stato iniziale
il tasto dovrebbe essere disabilitato, quindi non tiene conto dello stato iniziale.
Grazie ancoraper riportare il form allo stato originale hanno inventato il tasto di reset, che mi pare funzioni
![]()
comunque, se trovi una soluzione decente, falla conoscere. ciao![]()
Pietro
Mi sono io spiegato male
Io ho 1 form
Voglio abilitare il tasto salva solo se quella form sia sta modificata
cioè i valori iniziali della form sono diversi da quelli dopo modifica.
Cioè inizialmente ho una form con una
1. check box spuntata
2. Tolgo la spunta si abilita salva
3. Rimetto la spunta quindi il tasto si disabilita
Questo comportamento vorrei che lo facesse dinamicamente per tutti i campi presenti nella form.
Non so se sono riuscito a spiegare.
Grazie ancora
Allora ti sei spiegato benissimoOriginariamente inviato da luigi76
Mi sono io spiegato male
Io ho 1 form
Voglio abilitare il tasto salva solo se quella form sia sta modificata
cioè i valori iniziali della form sono diversi da quelli dopo modifica.
Cioè inizialmente ho una form con una
1. check box spuntata
2. Tolgo la spunta si abilita salva
3. Rimetto la spunta quindi il tasto si disabilita
Questo comportamento vorrei che lo facesse dinamicamente per tutti i campi presenti nella form.
Non so se sono riuscito a spiegare.
Grazie ancora![]()
Però spetta a te estrapolare le soluzioni ed adattarle al tuo caso.
Quella di fcaldera è interessante (non so se tu l'hai vista)
Quella che ti ho proposto io funziona lo stesso e la uso normalmente. Io la uso in questo contesto:
Un form con più campi e link per navigare. Quando navigo (cambio pagina) devo essere avvisato se ho modificato dati e non ho salvato.
Se modifico più campi, non posso certo ritornare indietro a mano (e chi si ricorda come). Utilizzo il pulsante reset che, ripeto, fa quella funzione.![]()
Pietro