[javascript] memorizzare selezioni di un campo select di un modulo

Pubblicità

isidoro80

Utente Attivo
Messaggi
124
Reazioni
0
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
 
ti devi mettere con javascript in modo che subito dopo il "disegno" della select il codice analizzi i cookie e selezioni automaticamente la voce corretta del menu a tendina
 
il codice per la gestione cookie mi pare tu l'abbia già, per il resto dovrai agire sull'oggetto che contiene la tua select, puoi ottenere un riferimento ad esso e memorizzarlo in obj con:
obj = document.nome_form.nome_select;
o con
obj = document.getElementById(valore_id_assegnato_alla_select);

da qui in poi dovrai agire sui vari elementi option presenti all'interno dell'oggetto ottenuto.

Ti consiglio una rapida lettura in rete della struttura dell'oggetto rappresentante i menu a tendina (select) ;)

ps.
non ti do già la soluzione perchè non è utile a livello formativo
 
Ciao grazie per la risposta.
L'idea che mi hai suggerito è ottima ma non so come addattarla al mio form ti spiego.
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..

Codice:
<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
 
la risposta è semplice, quando ricarichi la pagina vai a prelevare da dove hai salvato le informazioni l'id dell'anno e lo memorizzi in qualche variabile (es $sel) e poi usi:
Codice:
do {  
?>
   <option value="<?php echo $row_Recordset1['id_anno']?>" <?php
   if ($sel == $row_Recordset1['id_anno']) echo "selected";
   ?>><?php echo $row_Recordset1['anno']?></option>
   <?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
 
ciao grazie mille per l'aiuto senza di te non ce l'avrei fatta. ho fatto una piccola modifica al codice perchè se la variabile non è valorizzata perchè è la prima volta che si compila il campo mi compariva errore e allora hi aggiunto una if
Codice:
<select name="anno" id="anno">
        <option value="0">seleziona</option>
 
  <?php
 
do {  
?>
          <option value="<?php 	   
		   echo $row_Recordset1['id_anno'];
		   ?>"
		   <?php
	if (!empty($anno2)) {
   if ($anno2 == $row_Recordset1['id_anno']) echo "selected";
   }?> 
		         ><?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);
  }
?>
Però perodnami non ho capito come funziona questa riga
Codice:
if ($anno2 == $row_Recordset1['id_anno']) echo "selected";

praticamente scusami correggimi se sbaglio se la variabile anno2 è uguale a id_anno visualizza (echo) selected?
che significa?
io stavo stavo provando a modificarlo e mi veniva una cosa complicatissima
invece tu con una riga mi hai risolto il problema
 
Airex spiegami che significa questa riga di codice
Codice:
if ($anno2 == $row_Recordset1['id_anno']) echo "selected";
ciao e grazie ancora
 
il "selected" che mando a video è una delle opzione del tag option al cui interno stiamo "lavorando" con il blocco php, in pratica ti forza la seleziona di quel valore nel menu a tendina
 
ho capito praticamente da solo non ci sarei mai arrivato grazie. io avevo intrapreso un'altra strada ma non penso sarei arrivato lontano
 
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top