Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188

    JS: scrivere cookie con function

    Scusate mi trovo di fronte ad un problemino di sintassi.

    Sicuramente è una banalità, ma non conoscendo javascript...

    Allora prendendo spunto dalle preferenze di google:
    http://www.google.it/preferences?hl=it
    volevo fare una pagina simile dove un utente sceglie da dei radio e poi scrive i cookie in locale tramite javascript.

    Dunque avrò il mio form html:
    codice:
    <FORM name=preferenze>
    <input type=radio name=frutta  value=pere>pere
    <input type=radio name=frutta  value=mele>mele
    <input type=radio name=frutta  value=caco>caco
    <input type=radio name=verdura value=pomo>pomodori
    <input type=radio name=verdura value=zucc>zucchine
    <input type=radio name=verdura value=mela>melanzane
    </FORM>
    ed ecco il bottone che scrive i cookie:
    codice:
    <input type=button value="Salva modifiche"
    onClick="javascript:
    // Calcolo data
       var ExpireDate = new Date ();
       ExpireDate.setTime(ExpireDate.getTime() + (7 * 24 * 3600 * 1000));
    // Funzione esterna che salva le impostazioni
       scrivi(frutta,ExpireDate);
       scrivi(verdura,ExpireDate);
    // Avviso di buona riuscita
       alert('Impostazioni salvate. \nGrazie.');
    ">
    già cosi' i più attenti noteranno che c'e' una bella ridondanza a richiamare ogni volta una funzione passandogli il cosa cercare, ma mi andrebbe anche bene (se andasse).

    Poco prima infatti troviamo la funzione:
    codice:
    <SCRIPT language=javascript>
    <!--
    function scrivi(arrivato,ExpireDate); {
       // Cerchiato il valore arrivato
          for(i=0;i<document.preferenze.arrivato.length;i++){
            if(document.preferenze.arrivato[i].checked==true)  
            {index=i;break;}
          }								
       // Scriviamo i cookies
          document.cookie = arrivato + '=' + document.preferenze.arrivato[index].value + '; expires=' + ExpireDate.toGMTString();	
    }
    // -->
    </SCRIPT>
    Mi sembra facile, no ?
    Abbiamo il nome del controllo da analizzare ed il tempo (che poi useremo per la scadenza cookie).
    Cerchiamo cos'e' selezionato e poi lo scriviamo....

    MA NON VA !

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    prova un po' quste modifiche:

    codice:
    scrivi("frutta",ExpireDate);
    scrivi("verdura",ExpireDate);
    poi sotto:

    codice:
    var sel=document.preferenze.elements[arrivato];  
    for(i=0;i<sel.length;i++){
      if(sel[i].checked==true)  
        {index=i;break;}
      }								
       // Scriviamo i cookies
          document.cookie = arrivato + '=' + sel[index].value + '; expires=' + ExpireDate.toGMTString();
    non l'ho provato quindi non prometto nulla

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    SEI UN GENIO !

    Va perfettamente, grazie.

    Voglio solo aggiungere una cosa se qualcuno leggesse questa pagina e la trovasse interessante e volesse riutilizzare il codice.

    Ho commesso un errore:
    function scrivi(arrivato,ExpireDate); {
    è errato, quel ; non ci va perchè l'istruzione non è conclusa anzi non è neppure un'istruzione ma inizia una funzione.

    A parte questo con gli accorgimenti datomi va tutto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.