Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5

    Problema funzione JavaScript (metodo setFocus())

    Ciao a tutti, ho un problema con una funzione che mi sta facendo un po' ammattire e non so veramente come venirne a capo...

    In pratica dovrei fare in modo che al caricamento di una pagina, se fra i parametri passati c'è il parametro "focus", allora l'input field con nome e id (nel mio caso sempre uguali fra loro) pari al valore di tale parametro dovrebbe ottenere il focus.

    Ho fatto una miriade di prove, in ultima questa:

    codice:
    function setFocus(obj) {
         document.forms["myform"].obj.setfocus();
    }
    solo che poi all'atto pratico non so come fare a richiamarla all'avvio della pagina.

    Ho provato anche a metterla come action di un bottone, ma non funziona.

    Idee?

    Grazie a tutti anticipatamente per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    benvenuto, leggi il regolamento ed evita in futuro titoli cosi' generici
    se dal titolo si capisce con precisione di cosa si parla nella discussione va bene

    function setFocus(obj) {
    document.forms["myform"].elements[obj].setfocus();
    }

    window.onload=function(){setFOcus('nomeCampo')}
    usa la ricerca per approfondire l' onload, se n' e' parlato un' infinita' di volte

    se controllare "se fra i parametri passati c'è il parametro "focus"" vuol dire verificarne la presenza nella querystring (quanto appeso all' indirizzo dopo il ?) e se devi farlo lato client leggi qui (da "script/discussioni utili")

    ciao

  3. #3
    woooo, che segata !


    cmq io pensavo, banalmente e forse troppo semplicisticamente:
    ma se anzichè document.Nomeform.Elemento.setfocus() fai invece:

    document.Nomeform.Elemento.focus()

    funziona?
    a me par di si
    I hope so

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ops, setFocus non esiste

    function setFocus(obj) {
    document.forms["myform"].elements[obj].focus();
    }

    window.onload=function(){setFocus('nomeCampo')}


    @ luca
    document.Nomeform.Elemento.focus()
    va benissimo, finche' NomeForm e Elemento non sono nomi di variabili che contengono i rispettivi nomi ma i nomi stessi

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5
    Mi dispiace, avevo anche editato il titolo della discussione ma a quanto pare non c'ho preso manco stavolta ^^

    Ad ogni modo non sembra funzionare... probabilmente sbaglio qualcosa di stupido (forse il posizionamento della window.onload nella pagina).

    I parametri - sì - sono passati dalla querystring, ma almeno all'apparenza non sembra necessario leggerli lato client; leggendo il sorgente della pagina dal browser infatti ottengo:

    codice:
    window.onload=function(){setFocus(nome_2010-09-24_15:45:00)}nome
    dove "nome_2010-09-24_15:45:00" è il nome corretto del parametro.

    codice:
           <script type="text/javascript">
    
                    [...]
    
                    function setFocus(obj)
                    {
                            document.forms["myform"].obj.setfocus()
    
                    }
                    window.onload=function(){setFocus('<?php echo $_REQUEST['focus']; ?>')}
            </script>

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5
    Ups, non ho fatto in tempo a leggere di setfocus() che non esiste :S

    Comunque, non funziona neppure cambiando con focus().

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e elements si e' perso per strada?

    se questo
    window.onload=function(){setFocus(nome_2010-09-24_15:45:00)}
    e' il risultato e' sbagliato, deve passare una stringa
    window.onload=function(){setFocus('nome_2010-09-24_15:45:00')}

    non sono certo che i : siano carattere valido nei name/id

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5
    ...elements?

    Ricontrollando il codice:
    codice:
    window.onload=function(){setFocus('nome_2010-09-24_16:00:00')}
    gli apici ci sono.

    Ecco, se i : non sono considerati un carattere valido devo fare un bel po' di casini...

  9. #9
    document.Nomeform.Elemento.focus()
    va benissimo, finche' NomeForm e Elemento non sono nomi di variabili che contengono i rispettivi nomi ma i nomi stessi
    si, giusto, ma per fare un esempio rapido avevo messo così, infatti non l'avevo evidenziato con QUOTE o CODE ma scritto nel testo libero...

    cmq, tornando alla domanda
    suggerirei di tornare un po' indietro, "normalizzando" quei benedetti nomi dei campi
    magari solo in una fase "demo" non puoi mettere chenneso: uno due tre
    e robe semplici?
    almeno se così funziona sai su cosa lavorare, escludi il resto

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5
    Infatti penso che farò così... Ho provato a iniziare direttamente ieri ma vista l'ora stavo combinando solo più casini di quanti già non ce ne fossero. Quindi proverò più tardi appena possibile.

    Per il momento grazie a tutti.

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.