Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Disabilitare elemento

  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Disabilitare elemento

    Ciao a tutti!
    Sto provando la abilitazione/disabilitazione di un elemento con JS...ma non so perchè non funge...
    Questo è il codice del mio test:

    codice:
    <form>			<label>Campo 01</label><br>
    			<input type="button" name="btt" value="Disabilita" onClick="javascript:ciao(true)" /><br>
    			<input type="button" name="btt" value="Abilita" onClick="javascript:ciao(false)" /><br>
    			
    			<label>Campo 02</label><br>
    			<input type="text" name="campo2" value="" />
    		</form>
    		<script>
    			function ciao($val){				
    				document.getElementsByName('campo2').disabled=$val;
    			}
    		</script>
    Inserito nel body del mio html.
    Potete aiutarmi? Grazieeee

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,538
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Ciao a tutti!
    Sto provando la abilitazione/disabilitazione di un elemento con JS...ma non so perchè non funge...
    Questo è il codice del mio test:

    codice:
    <form>            <label>Campo 01</label><br>
                <input type="button" name="btt" value="Disabilita" onClick="javascript:ciao(true)" /><br>
                <input type="button" name="btt" value="Abilita" onClick="javascript:ciao(false)" /><br>
                
                <label>Campo 02</label><br>
                <input type="text" name="campo2" value="" />
            </form>
            <script>
                function ciao($val){                
                    document.getElementsByName('campo2').disabled=$val;
                }
            </script>
    Inserito nel body del mio html.
    Potete aiutarmi? Grazieeee
    Perché se usi getElementsByName (notare la "S") stai recuperando un array di elementi, per cui devi fornire un indice per operare su uno di essi.
    Quindi:
    codice:
    <form>            <label>Campo 01</label><br>
                <input type="button" name="btt" value="Disabilita" onClick="javascript:ciao(true)" /><br>
                <input type="button" name="btt" value="Abilita" onClick="javascript:ciao(false)" /><br>
                
                <label>Campo 02</label><br>
                <input type="text" name="campo2" value="" />
            </form>
            <script>
                function ciao($val){                
                    document.getElementsByName('campo2')[0].disabled=$val;
                }
            </script>
    Oppure nel caso voglia disabilitare tutti i campi che si chiamano "campo2" devi iterare il risultato di getElementsByName

  3. #3
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Ciao, vedi se cosi funziona.

    codice:
     const campo2 = document.querySelector('input[name="campo2"]')
    
            function ciao(val) {
                campo2.disabled = val
                campo2.focus()
            }

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Grazie ragazzi funzionano tutti e 2!
    Non mi ero proprio accorta di quella maledetta "s"
    Di solito uso getElementById

    Grazie ancora!!

  5. #5
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,538
    Di nulla.

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.