- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- problema di eventi
-
problema di eventi
ciao a tutti,
con il seguente codice js:document.getElementById('mm').value=nuovo_mese; document.getElementById('gg').value=nuovo_giorno;
inserisco in due campi input dei valori. Ho poi un controllo js per compiere un'azione quando il l'input cambia valore. Io ho usato "onChange" ma non funziona; si accorge del cambio dato se io direttamente con mouse e tastiera modifico l'input... ho provato con onPropertyChange ma funziona solo con explorer... qualcuno sa suggerirmi qualcosa?grazie in anticipo:)
-
nessuno?
-
Non puoi richiamare la funzione come callback ?
Posta un po di codice altrimenti è difficile da capire
-
INDEX.PHP <html> <head> window.addEvent('domready', function() { $('gg').addEvent('change', function() { document.data.submit(); }); }); </head> <body> ... <?php echo" <form name='data' method='post' action='index.php'> <input type='hidden' name='gg' id='gg' value='".$_POST['gg']."'></input> <input type='hidden' name='mm' id='mm' value='".$_POST['mm']."'></input> </form>"; ?> </body> </html> FILE JAVASCRIPT.JS ... document.getElementById('mm').value=nuovo_mese; document.getElementById('gg').value=nuovo_giorno; ...
- il file INDEX è la pagina dove si svolge tutto, ho tolto il codice superfluo: quando invio i dati del form li invio alla stessa pagina ricaricandola.
- nel FILE JAVASCRIPT esterno ho l'istruzione che mi va a modificare il contenuto delle caselle del form citato nella index in base al valore assunto dalle variabili nuovo_mese e nuovo_giorno.
Non riesco a capire come mai l'evento "change" non riconosce quando la modifica dei dati del form non avviene.:x
-
onchange va scritto tutto in minuscolo.
Devi utilizzare per forza mootools?
-
No, però non essendo un espertissimo js, uso MooTools per gestire tutto in modalità cross-browser. E' una bella soluzione o non tanto? Pon ne approfitto per chiedere: un amico mi ha detto che il codice js è "poco carino" inserirlo qua e la nell' html (<a href="..." onclick="...">) ma usare sempre un controllo nell'head come in questo caso.. è vero?:D
Comunque facendo ricerche ho trovato che onchange è un evento che rileva il cambiamento solo fatto dall' utente: allora "simulare" questo cambiamento con uno script non ho idea di come si faccia e mi sembra stupido, ho spostato document.data.submit(); in una posizione dove viene eseguito comunque al momento giusto!