Visualizzazione dei risultati da 1 a 3 su 3

Discussione: problema di focus

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    211

    problema di focus

    Nel codice che segue vorrei mettetre il focus sull'oggetto "testo1" con l'struzione:
    testo1.focus();
    ma non viene messo e figura il messaggio:
    Form elements must have labels.
    Desidererei sapere che label dovrei mettere per far funzionare il focus. Grazie

    lavoel

    codice:
    <!doctype html>
    <html>
    <body>
    Studio di un numero: pari o dispari, positivo o negativo <br><br>
    <input type="button" id ="bottone1" value="scrivi un numero --> " onclick="scrivi_studia()">
    <input type="text" id="testo1" size=15><br><br>
    analisi del  numero: <input type="text" id="testo2" size=40>
    <script>
    function scrivi_studia(){
    testo1.focus();
    n=parseInt(testo1.value)
    if (n==0){testo2.value="il numero è zero"}
     else if (n%2==0 && n>0){testo2.value= n + " è pari e positivo"}
     else if (n%2==0 && n<0) {testo2.value= n + " è pari e negativo"}
     else if (n%2!==0 && n>0) {testo2.value= n + " è dispari e positivo"}
     else if (n%2!==0 && n<0) {testo2.value= n + " è dispari e negativo"}
    else {testo2.value="n non è un numero"}
    }
    </script
    </body>
    </html

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,675
    Quel particolare messaggio non riguarda la validità della sintassi HTML e non pregiudica il funzionamento del focus; indica piuttosto un problema riguardante l'adempimento delle regole di accessibilità, le quali non sono comunque obbligatorie a livello di validità del codice.

    Desidererei sapere che label dovrei mettere per far funzionare il focus. Grazie
    Di fatto non hai bisogno di mettere alcun label. Non c'è un nesso tra la comparsa di quel messaggio e il problema del mancato focus da te riscontrato. Suppongo che le due cose siano scollegate.

    Il codice, così come lo hai riportato, presenta qualche errore di sintassi HTML; vedi la mancanza degli elementi <head> e <title> e l'errata chiusura di qualche tag (posso immaginare siano giusto degli errori di copiaincolla qui sul forum) ma, ad ogni modo, provando il codice così com'è (anche con tali errori), personalmente non noto il problema. Il focus avviene correttamente su testo1 quando viene eseguita la funzione scrivi_studia(), cioè dopo aver cliccato su bottone1, se questa è la tua esigenza.

    A questo punto mi viene da pensare che tu voglia far avvenire il focus appena si apre la pagina (non è chiaro dalle indicazioni che hai fornito); in tal caso puoi adoperare l'attributo autofocus, oppure chiamare il metodo focus() fuori dalla funzione in modo che sia eseguito, appunto, all'apertura della pagina.

    In caso contrario ti invito a fornire maggiori dettagli per chiarire il problema.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    211
    Chiedo scusa KillerWorm, perché pretendevo che il focus comparisse su testo1 prima di cliccare sul button bottone1, ponendo
    testo1.value=focus(); dentro la funzione.
    Per ottenere questo risultato dovevo, evidentemente, porre l'istruzione testo1.value=focus(); prima della funzione, subito sotto <script>.
    Ti ringrazio per avermi fatto riflettere

    lanvoel

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.