Preconfigurare un form

di il
2 risposte

Preconfigurare un form

Ho un form di questo tipo:
<form action="/admin/coordinate.jsp" method="POST" class="">
            <p><input name="UserID" value="Paperino" type="hidden"></p>
            <label><strong>Latitudine</strong> (gradi sessadecimali):</label>
            <p class="">
                <input name="Latitudine" value="" type="text">
            </p>
            <label><strong>Longitudine</strong> (gradi sessadecimali):</label>
            <p class="">
                <input name="Longitudine" value="" type="text">
            </p>
            <label><strong>Tempo</strong> (formato: "GG/MM/AAAA OO:MM:SS"):</label>
            <p class="">
                <input name="Tempo" value="" type="text">
            </p>
            <p><input value="Invia" type="submit"></p>
</form>
nella pagina X.

Vorrei che quando l'utente accedesse alla pagina X trovasse in Latitudine il cursore del mouse, in Longitudine la stringa "Inserisci" mentre in Tempo la data presa dal PC. Tutte le stringhe dovrebbero essere scritte in grigio chiaro ed in particolare quella di Tempo non dovrebbe scomparire quando l’utente seleziona il tag.

Mi date una mano?

Grazie

2 Risposte

  • Re: Preconfigurare un form

    Allora per il focus in "latitudine" puoi farlo o in html inserendo l'attributo autofocus :
    <input name="Latitudine" autofocus value="" type="text">
    o in javascript :
    document.getElementsByTagName('input')[1].focus();

    In longitudine tramite html inserisci l'attributo placeholder con il testo desiderato :
    <input name="Longitudine" value="" placeholder="inserisci" type="text">
    Per la data:
    <script>var data = new Date(), stringaData = data.toString();
    document.getElementsByTagName('input')[3].value = stringData;
    </script>
  • Re: Preconfigurare un form

    Mille grazie! In questa pagina jsp ho risolto tutto. Il tuo ultimo codice però non mi funzionava così ho optato per jquery.
    Il codice aggiunto è questo:
    Html:
    
            <form action="/admin/coordinate.jsp" method="POST"
                  class="">
                <p><input type="hidden" name="UserID" value="Paperino"></p>
                <label><strong>Latitudine</strong> <i>(gradi sessadecimali)</i>:</label>
                <p class="">
                    <input type="text" name="Latitudine" value=""
                           placeholder="Inserisci la latitudine">
                </p>
                <label><strong>Longitudine</strong> (gradi sessadecimali):</label>
                <p class="">
                    <input type="text" name="Longitudine" value=""
                           placeholder="Inserisci la longitudine">
                </p>
                <label><strong>Tempo</strong> (formato: "gg/mm/aaaa oo:mm:ss"):</label>
                <p class="">
                    <input type="text" name="Tempo" value="">
                </p>
                <p><input type="submit" value="Invia"></p>
            </form>
    Js:
    Number.prototype.aggiungiSimbolo = function (base, simbolo) {
        var numeroSimboli = String(base || 10).length - String(this).length;
        return numeroSimboli > 0 ? new Array(numeroSimboli + 1).join(simbolo || '0') + this : this;
    }
    var d = new Date,
        dFormat = [d.getDate().aggiungiSimbolo(), (d.getMonth() + 1).aggiungiSimbolo(), d.getFullYear()].join('/') + ' ' +
            [d.getHours().aggiungiSimbolo(), d.getMinutes().aggiungiSimbolo(), d.getSeconds().aggiungiSimbolo()].join(':');
    $(document).ready(function () {
        if (!$('p').hasClass('rosso-porpora') & !$('p').hasClass('verde-pisello')) {
            $("div.respform [name='Tempo']").val(dFormat);
            $("div.respform [name='Latitudine']").focus();
        } else {
            $("div.respform [name='Latitudine']").blur();
        }
    });
    e fa esattamente quello che deve fare.
    Il problema più grande lo riscontro nella home dove mettendo il focus nel tag "UserID" il browser apre in automatico un elenco con tutti gli user che si sono collegati e hanno deciso di salvare la password. Per rimovere questo menu a tendina devo premere Esc sulla tastiera. Può essere una strada quella di premere Esc sulla tastiera con jquery oppure mi consigli di fare altro? Come modificheresti il codice sotto?
    Codice html:
    
            <div class="respform">
                <form action="/autenticazione.jsp" method="POST">
                    <label>User ID:</label>
                    <p class="">
                        <input type="text" name="UserID" value=""
                               class="UserID">
                    </p>
                    <label>Password:</label>
                    <p class="">
                        <input type="password" name="Password" value="">
                    </p>
                    <p><input type="submit" value="Login"></p>
            </form>
            </div>
    
    Codice js:
    $(document).ready(function () {
        if (!$('p').hasClass('rosso-porpora') & !$('p').hasClass('verde-pisello')) {
            $("div.respform [name='UserID']").focus();
        } else {
            $("div.respform [name='UserID']").blur();
        }
    });
    Sempre grazie
    P.S.: Nel primo codice non ho usato autofocus che preferivo perché blur() non mi faceva scomparire la "|" lampeggiante dal tag. Sai spiegarmi perché? focus() ed autofocus non sono la stessa cosa? Come si rimuove autofocus con js o meglio ancora jQuery? Detto in altro modo perché blur() non rimuove l'autofocus?
Devi accedere o registrarti per scrivere nel forum
2 risposte