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

    Selezionare un tag input con IE

    Vorrei selezionare un tag input con IE non appena il browser ha terminato di caricare la pagina.
    Con tutti i browser, eccetto Safari che non posso testare non essendo cliente Apple, funziona il seguente script:
    codice:
    $(document).ready(function () {
    $("div.respform [name='Latitudine']").focus();
    });
    Con IE no!
    Ho provato a scrivere una cosa di questo tipo:
    codice:
    window.onload=function(){
        document.getElementById('Latitudine').focus();
    }
    ma non funziona. Il "|" lampeggiante non compare dentro il tag input.
    Inoltre avrei esigenza di gestire la selezione di questo tag perché il codice reale è questo:
    codice:
    if (!$('p').hasClass('errore1') & !$('p').hasClass('errore2')) {
        $("div.respform [name='Tempo']").val(data_formattata);
        $("div.respform [name='Latitudine']").focus();
    } else {
        $("div.respform [name='Latitudine']").blur();
    }
    L'HTML è questo:
    codice:
    <div class="respform">
    <form action="/admin/coordinate.jsp" method="POST"
          class="">
        <p><input type="hidden" name="UserID"
                  value="Paperino" class=""></p>
        <label><strong>Latitudine</strong> (gradi sessadecimali):</label>
        <p class="">
            <input type="text" name="Latitudine" id="Latitudine"
                   value=""
                   placeholder="Inserisci la latitudine" class="">
        </p>
        <label><strong>Longitudine</strong> (gradi sessadecimali):</label>
        <p class="">
            <input type="text" name="Longitudine" id="Longitudine"
                   value=""
                   placeholder="Inserisci la longitudine" class="">
        </p>
        <label><strong>Tempo</strong> (formato: &quot;gg/mm/aaaa oo:mm:ss&quot;):</label>
        <p class=" ">
            <input type="text" name="Tempo" id="tempoIE"
                   value="">
        </p>
        <p><input type="submit" value="Invia" class=""></p>
    </form>
    </div>
    Ho anche provato ad aggiungere una funzione come questa:
    codice:
    function seleziona(){
    document.getElementById('Latitudine').focus();
    }
    codice:
    <input type="text" name="Latitudine" id="Latitudine" onload="setTimeout('seleziona(this)',1);"
    value=""
    placeholder="Inserisci la latitudine" class="">
    ma nulla, non risolvo...
    Dunque come fate voi a mettere il tag sull'input che desiderate con IE?
    grazie
    Più pratica in futuro...

  2. #2
    ho risolto, chiudo qui la discussione
    Più pratica in futuro...

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    se hai risolto... dicci qual'era il problema e quale soluzione hai adottato

  4. #4
    sui forum c'è sempre una regola da rispettare: "Per avere bisogna anche dare".
    La tua soluzione può aiutare altre persone che hanno problemi simili.

  5. #5
    Quote Originariamente inviata da SoloWiFi Visualizza il messaggio
    sui forum c'è sempre una regola da rispettare: "Per avere bisogna anche dare".
    La tua soluzione può aiutare altre persone che hanno problemi simili.
    Si avete ragione, vi chiedo scusa. Ho messo l'autofocus di html che funziona su tutti i browser tranne IE e poi ho usato questo script:
    codice:
    $(document).ready(function () {
        // Scrivere la data automaticamente
    ...
        // Posizionare automaticamente il cursore sul tag della latitudine
    if (!$('p').hasClass('errore1') & !$('p').hasClass('errore2')) {
            $("div.respform [name='Tempo']").val(data_formattata);
            // Il codice seguente serve per far funzionare l'autofocus di HTML5 anche su browser IE
    if (window.navigator.userAgent("MSIE")) {
                $('[autofocus]:not(:focus)').eq(1).focus();
            }
        }
    });
    In pratica genero una lista di oggetti privi di autofocus e ci aggingo al secondo della lista (il primo è un input hidden) il focus con JQuery. Molti di voi si chiederanno perché non usare i normali selettori: la risposta è seplice, con IE non funzionano. Ovviamente non chiedetemi perché.
    Più pratica in futuro...

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.