PDA

Visualizza versione completa : [javascript] memorizzare selezioni di un campo select di un modulo


bietolino
09-05-2007, 10.40.32
ciao a tutti, ho scaricato uno script (sul sito html.it) che permette di memorizzare ci che viene scritto nei campi di testo di un modulo all'interno di cookie in modo che se l'utente torna sulla pagina i campi sono gi valorizzati con i valori inseriti precedentemente. A me serve uno script simile che permetta di mantere valorizzate le selezioni di una select (i menu a tendina per intenderci) in modo che quando l'utente torna sulla pagina non deve selezionare nuovamente quello che precedentemente aveva selezionato.
Come posso fare? E' possibile?
Grazie mille a tutti

marduk.babilonia
09-05-2007, 17.33.52
in pratica quello che ti hai scaricato memorizza dei dati che acquisisce da u campo editabile nei cookie

per prima cosa perch devi andare a insozzare i coockie?
in che linguaggio stato scritto e perch lo devi fare in javascript?
puoi benissimo "catturare" la scelta nella droplist (il men a tendina) memorizzarlo in una variabile e passartelo come "hidden" in sessione, al che metti un controllo che verifica se la variabile vuota mette il default, in caso contrario il valore della variabile.

bietolino
10-05-2007, 14.16.35
Ciao grazie per la risposta. Lo script che ho scaricato in javascript. L'idea che mi hai suggerito ottima ma non so come fare.
La pagina che ho realizzato serve per inserire dati in un database. dopo il post riappare nuovamente il form per inserire nuovi dati.

Qui di seguito ti riporto il codice php di una delle select del mio modulo..


<select name="anno" id="anno">
<option value="0">seleziona</option>
<?php
do {
?>
<option value="<?php echo $row_Recordset1['id_anno']?>"><?php echo $row_Recordset1['anno']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>


praticamente il contenuto della select viene preso da una tabella di un database che contiene due campi id anno e anno, nella select viene visualizzato l'anno "es 2000" mentre il post passa l'id corrispondente all'anno selezionato es 1.
Ora come posso modificare questo codice per far si che dopo il post il valore di default che attualmente seleziona con il valore precedentemente selezionato?
grazie mille per l'aiuto

marduk.babilonia
11-05-2007, 10.14.36
onestamente non consco il php, loriesco a leggicchiarlo ma non posso dire che ci programmo. fino a che java, javascript o altri ok, ma il php non lo uso...

cmq potresto catturare l'evento del cambio di stato dopo che stato caricato il primo dato (e li vedere quale pi indicato)
per comodita ti dico quali sono gli eventi scegli tu quello che vedi pi utile(non mi ricordo dove li avevo presi ma su web si trovano facilmente e con esempi).
Ovviamente puoi associarne due con i vari and ed or

onload = L'evento onload si verifica quando il programma utente finisce di caricare una finestra o tutti i frame all'interno di un FRAMESET. Questo attributo pu essere usato con gli elementi BODY e FRAMESET.
onunload = L'evento onunload si verifica quando il programma utente rimuove un documento da una finestra o da un frame. Questo attributo pu essere usato con gli elementi BODY e FRAMESET.
onclick = L'evento onclick si verifica quando il pulsante di una periferica di puntamento cliccato sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
ondblclick = L'evento ondblclick si verifica quando il pulsante di una periferica di puntamento cliccato due volte sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onmousedown = L'evento onmousedown si verifica quando il pulsante di una periferica di puntamento premuto sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onmouseup = L'evento onmouseup si verifica quando il pulsante di una periferica di puntamento rilasciato sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onmouseover = L'evento onmouseover si verifica quando una periferica di puntamento mossa sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onmousemove = L'evento onmousemove si verifica quando una periferica di puntamento viene mossa mentre si trova sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onmouseout = L'evento onmouseout si verifica quando la periferica di puntamento mossa via da un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onfocus = L'evento onfocus si verifica quando un elemento riceve il fuoco o dalla periferica di puntamento o dalla navigazione tramite selettori. Questo attributo pu essere usato con i seguenti elementi: A, AREA, LABEL, INPUT, SELECT, TEXTAREA e BUTTON.
onblur = L'evento onblur si verifica quando un elemento perde il fuoco o dalla periferica di puntamento o dalla navigazione tramite selettori. Pu essere usato con gli stessi elementi di onfocus.
onkeypress =L'evento onkeypress si verifica quando un tasto premuto e rilasciato sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onkeydown = L'evento onkeydown si verifica quando un tasto schiacciato sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onkeyup = L'evento onkeyup si verifica quando un tasto rilasciato sopra un elemento. Questo attributo pu essere usato con la maggior parte degli elementi.
onsubmit = L'evento onsubmit si verifica quando un modulo inoltrato. Si applica soltanto all'elemento FORM.
onreset = L'evento onreset si verifica quando un modulo riportato alla sua condizione di partenza. Si applica soltanto all'elemento FORM.
onselect = L'evento onselect si verifica quando un utente seleziona del testo all'interno di una campo di testo. Questo attributo pu essere usato con gli elementi INPUT e TEXTAREA.
onchange =L'evento onchange si verifica quando un controllo perde il fuoco per l'immissione ed il suo valore stato modificato dal momento in cui ha ottenuto il fuoco. Questo attributo si applica ai seguenti elementi: INPUT, SELECT e TEXTAREA.


una volta che hai catturato l'evento fai la query o quello che e ti carichi nel tuo secondo campo il valore corretto.

bietolino
14-05-2007, 11.05.02
non credo che la soluzione che mi hai proposto sia la via giusta per risolvere il problema. avete suggerimenti da darmi per modificare il mio codice?