Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Suggerimento in <input type=text>

    Volevo capire come fare per aggiungere un suggerimento alla casella di testo die form...
    Per farvi capire:
    Se devo fare inserire la data e voglio che la data inserita sia in formato giorno/mese/anno vorrei che nel campo della casella venisse fuori scritto gg/mm/aaaa. Questo lo posso fare indicandolo nel campo value della text come segue:
    codice:
    <input type=text name=data value=gg/mm/aaaa>
    Ma in questo modo ogni volata che devo inserire la data si dovrà prima cancellare il il valore precedente, ovvero "gg/mm/aaaa"...

    Ero interessato quindi a capire come far venire fuori quel suggerimento che in genere è scritto in grigetto e che scompare quando si clicca sulla text...

    Qualche suggerimento?

  2. #2
    Dovresti usare jquery o ajax... all'evento onClick sulla casella togli il testo al suo interno, poi all'onBlur verifichi se è vuota, e se lo è rimetti il testo gg/mm/aaaa.
    Spero che tu conosca javascript e jquery...

    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  3. #3
    Prova così:


    <input type=text name=data value=gg/mm/aaaa onFocus="this.value=''">


    onFocus è l'evento che si attiva quando si clicca sul controllo
    this indica il controllo stesso
    la coppia di apici indica il valore vuoto cioè il niente

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  4. #4
    Beh, io pensavo a qualcosa di più sofisticato... ma va bene anche così
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  5. #5
    Si, è vero, dev'essere più sofisticato.

    Per esempio così:
    <input type=text name=data value=gg/mm/aaaa onFocus="if (this.value=='gg/mm/aaaa') {this.value=''};" onBlur="if (this.value=='') {this.value='gg/mm/aaaa'};">

    In questo modo se il navigatore clicca quando il contenuto e' gg/mm/aaaa questo si cancella mentre se clicca quando c'è già scritto qualcosa non succede niente.
    E lo stesso in uscita: viene ripristinato il suggerimento solo se si sta uscendo da una casella vuota e non da una già piena

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    Grazie mille a tutti!! un forum veramente fantastico questo! ero abituato ad altri forum con persone molto meno disposte ad aiutare chi non era saccente come loro...


    Comunque...
    Funziona in effetti, ma io devo inserirlo in uno script PHP, quindi dovrei scrivere:
    Codice PHP:
    echo"
        <tr height=35>
            <td align=right>Data in cui ne sei entrato in possesso:</td>
            <td><input type=text name=data value=gg/mm/aaaa onFocus='if (this.value=='gg/mm/aaaa') {this.value=''};' onBlur='if (this.value=='') {this.value='gg/mm/aaaa'};'></td>
        </tr>"

    ma così facendo non funziona più...

    Consigli?

  7. #7
    Non l'ho provato ma a una prima occhiata mi sembra che ci sia un po' di confusione con gli apici

    Voglio dire che devi differenziare gli apici che utilizzi per il php, quelli per l'html e quelli per il javascript, altrimenti non può funzionare. Ad esempio, il primo apice, quello prima della if, agli occhi del compilatore delimita una stringa che si chiude prima del gg. E così è chiaro che non funziona.

    Probabilmente è sufficiente sostituire gli apici che delimitano il javascript con la coppia di caratteri \" (anteporre un backslash ad un carattere speciale dice al php di non "interpretare" quel carattere e trattarlo come tutti gli altri), così:

    codice:
    echo"
        <tr height=35>
            <td align=right>Data in cui ne sei entrato in possesso:</td>
            <td><input type=text name=data value=gg/mm/aaaa onFocus=\"if (this.value=='gg/mm/aaaa') {this.value=''};\" onBlur=\"if (this.value=='') {this.value='gg/mm/aaaa'};\"></td>
        </tr>";


    Comunque son d'accordo, è un gran bel forum questo. :119:

    Bye
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  8. #8
    Grazie mille!!
    Non avevo pensato al backslash...

    cosí dovrebbe funzionare, ma ora non posso modificare nulla, quando verificherò vi faró sapere...

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