Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,481

    Annullare campi form tornando indietro col tasto del browser

    Salve a tutti

    ho un piccolo problema su un mio sito che vorrei provare a risolvere.

    Nella home page del mio sito è presente un modulo di ricerca (vacanza)

    Nella prima select scelgo la data (le date le inserisco in un database e le estraggo)
    Nella seconda select scelgo la durata (esempio 7 notti)
    Nella terza select scelgo il tipo di pacchetto (volo+hotel)
    La quarta select esce appena riempio la terza select e rappresenta l'aeroporto di partenza

    Poi cerco ed escono i risultati.
    Fin qui tutto ok

    Adesso vorrei fare in modo che quando l'utente clicca indietro sul browser, il form si azzeri.
    In teoria potrebbe anche annullare solo la terza select dove mi viene chiesto il tipo di pacchetto.

    In definitiva, tornando indietro, vorrei mettere di default la scritta "seleziona" dalla select

    Esiste qualcosa in html che mi faccia fare cio'?
    Oppure devo usare qualche javascript?

    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,319
    Ciao, col solo HTML è possibile impostare l'attributo autocomplete come off, sia per gli elementi input del form sia per l'intero form.
    Questo fa appunto in modo di evitare che il browser compili automaticamente, con i valori precedentemente inseriti, i relativi campi su cui è applicato l'attributo.

    Purtroppo attualmente questo attributo non è supportato in modo stabile dagli elementi select, ma tutto sommato impostandolo per il form ho notato che anche i select vengono svuotati quando si torna indietro sulla pagina.

    Se ti andare bene svuotare tutti i campi, può essere sufficiente questa soluzione.

    In teoria è comunque possibile applicare contemporaneamente autocomplete="off" sul form e autocomplete="on" sugli input per i quali si vuole mantenere il valore precedentemente selezionato. In questo caso però ci sono diversi comportamenti per i diversi browser; provando su FF 63, CH 72 e IE/Edge, ho notato che funziona solo in Chrome in cui gli input che hanno "on" vengono appunto riempiti col valore precedentemente selezionato, mentre tutti gli altri elementi (compresi i select) avranno il valore di default.

    Diciamo che risolvi in parte, quantomeno il form si azzera quando torni indietro sulla pagina ma, solo su CH, funziona l'autocomplete="on" applicato ai singoli specifici input, perché sovrascrive l'autocomplete="off" del form.

    Una soluzione più crossbrowser penso si possa ottenere azzerando i campi (nel tuo caso il select) via JavaScript, come appunto hai supposto tu stesso.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 15% tra i post del forum; il 9% sul web.
    Ti resta l’1% ... usalo bene!

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,481
    Ciao killerWorm

    ti ringrazio per l'intervento
    Beh la soluzione dell'autocomplete off sul modulo l'ho appena testata e funziona perfettamente.

    Domani provo anche a metterlo sui singoli campi (on e off) ed a fare qualche test, magari ho trovato la soluzione giusta.

    Ti ringrazio, hai risolto in buona parte il mio problema.
    Grazie

  4. #4
    Non è sufficiente mettere nella pagina i tag:
    codice:
    <META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>
    <META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache”>
    ?
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  5. #5
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,481
    Quote Originariamente inviata da carlomarangoni Visualizza il messaggio
    Non è sufficiente mettere nella pagina i tag:
    codice:
    <META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>
    <META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache”>
    ?
    non conosco questo tag, ma adesso provo e vi aggiorno

  6. #6
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,481
    Ho provato anche quella soluzione, ma non mi funziona.
    La soluzione dell'autocomplete off è quella che va meglio

    Grazie

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 © 2019 vBulletin Solutions, Inc. All rights reserved.