Newsgroup: it.comp.lang.javascript
Titolo: idea per sapere se nella pagina è stato modificato qualcosa

avevo proposto una volta il questo: "è possibile sapere se nella pagina
è stato modificato qualcosa?"
ma non mi soddisfacevano le risposte.
mi è venuta un'idea:
se come ultima istruzione javascript faccio un ciclo tra tutti gli
elementi settando il defaultvalue al valore di value
(che non sono uguali visto che faccio delle modifiche alle text via
codice in fase di caricamento) e quando premo salva faccio un controllo
che i 2 valori (value e defaultvalue) siano diversi , secondo voi è una
buona idea?
grazie


L'avevo postata tempo fa :
<html>
<form>
<input type="text" name="uno" value="">
<input type="text" name="due" value="">
<input type="text" name="tre" value="">
<input type="button" name="insert" value="inserisci" onClick="checkval()">
<input type="button" name="modify" value="Modifica" onClick="checkval()">
</form>
</html>
<script>
var form_sav=new Array()
for (ii=0;ii<document.forms[0].length;ii++)
form_sav[document.forms[0].elements[ii].name] =
document.forms[0].elements[ii].value
  function checkval() {
        modificato=false
        for(ii=0;ii<document.forms[0].length;ii++) {
           if(document.forms[0].elements[ii].value !=
form_sav[document.forms[0].elements[ii].name])
    	     modificato=true
        }
        if(! modificato) {
          alert('Nessun dato modificato.')
          return;
        }else{
           alert('Dati modificati.')
           return;
        }
}
</script>
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 buona idea?
Non mi ricordo del post, ma forse e' la strada giusta.
Prova e facci sapere...
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .


sě l'idea č ottima.. solo io non avevo specificato che alcuni controlli
vengono creati dinamicamente da script.
quindi mi sa che č piů comoda la mia.
cmq grazie :-)

 codice in fase di caricamento)
Questa me la spieghi :) In che contesto necessiti di una cosa del 
genere?
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 genere?
in breve: creo righe di una table dinamicamente e poi le riempio tramite
script con valori letti da db.
quindi i due son diversi perchè non faccio un assegnamento diretto alla
proprietà value

 elementi settando il defaultvalue al valore di value
perche' devi fare un ciclo? Setta la defaultValue quando crei ogni 
singolo l'oggetto no?
var obj=document.createElement("INPUT");
obj.value=obj.defaultValue="valore";


 obj.value=obj.defaultValue="valore";
non posso:
in pratica ho una funz che mi aggiunge una riga alla table che posso
utilizzare anche premento un bottone (l'utente aggiunge in questo modo le
righe che gli servono), ed una funzione che va a settare i valori dei campi
alla riga creata. quindi non posso fare come dici tu... :-)

 alla riga creata. quindi non posso fare come dici tu... :-)
Guarda che il discorso mica cambia. Non devi cmq fare un ciclo, e 
l'assegnazione dei valori con la creazione dell'elemento non ha nulla a 
che vedere.
Se hai due funzioni, molto semplicemente nella funzione in cui setti il 
valore dei campi della riga creata, gli fai settare anche il default 
value cosi' come ti ho fatto vedere.
La necessita' di un ciclo che ti reitera tutti i controlli non e' 
assolutamente necessaria.
.. A meno che non continui a sfuggirmi qualcosa. :)


 .. A meno che non continui a sfuggirmi qualcosa. :)
+ o -..
nel senso che la funzione che riempie č chiamata anche da altre parti nel codice.
se assegnassi anche il defaulValue, sembrerebbe che non č cambiato nulla...

 nel senso che la funzione che riempie č chiamata anche da altre parti nel codice.
Puoi sempre far si' che la funzione discrimini il contesto in cui viene 
chiamata, tramite ad esempio un parametro opzionale, e fai aggiungere il 
default value solo in quel caso.


 default value solo in quel caso.
vero.. nn ci avevo pensato... ma č una situazione nata da poco il discorso del
defaultValue..
e visto che son circa 4000 righe di codice quella pagina.... meglio fare un bel ciclo
alla fine :-PPP
grazie cmq

tra l'altro, mi spiace Zer0.
credo che le vacanze a Firenze siano saltate... devi accontentarti di un cappuccino
virtuale..... ;-D

 grazie cmq
Di niente, potra' servire cmq a qualcuno che avra' un problema analogo e 
cerchera' tra gli archivi :)


 virtuale..... ;-D
Tsk..! E la brioches? Dove la metti? E cmq dimentichi che siamo entrambi 
in zona Milano.. :P Anche se ho un appartamento a Saronno, non e' raro 
che faccia una capatina in quel di MI. :P


 --
basta avvisare... felice di offrirtela..
tra l'altro, che zona di saronno? ho una collega che abita a saronno... ma questa non te
la presento... prova ad immaginare il xè :-))

 la presento... prova ad immaginare il xè :-))
Perche' e' carina? Dai, non ci credo. Ancora devo vedere una ragazza 
carina che abita a Saronno.. Va beh che giro poco da queste parti.. 
pero' non ne ho viste.. Considera che sono abituato a standard 
"Fiorentini" e "Riminesi".. ;D
.. Cmq non preoccuparti. Anche volendo, non sono in periodo di 
"caccia".. e' un paio di mesi che non mi faccio manco la barba, pensa 
te. Potrei interessare solo ad un membro della famiglia Addams. ;)


 te. Potrei interessare solo ad un membro della famiglia Addams. ;)
...oppure non piu'...