Logic bug: $('input[type=checkbox]').val() always returns 'on' regardless of whether checkbox is checked or unchecked – jQuery VAL_CHECKBOX_RETURNS_ON

VAL_CHECKBOX_RETURNS_ON

Invocare '.val()' su una casella di controllo HTML senza attributo value esplicito restituisce costantemente la stringa predefinita '"on"' sia che sia spuntata sia che sia deselezionata; per determinare se è attiva occorre interrogare '.prop("checked")' o '.is(":checked")'.

Cosa significa questo errore?

Invocare '.val()' su una casella di controllo HTML senza attributo value esplicito restituisce costantemente la stringa predefinita '"on"' sia che sia spuntata sia che sia deselezionata; per determinare se è attiva occorre interrogare '.prop("checked")' o '.is(":checked")'.

Messaggio originale

Logic bug: $('input[type=checkbox]').val() always returns 'on' regardless of whether checkbox is checked or unchecked

Contesto e parole chiave

Alias

  • jQuery checkbox .val() always returns on

Messaggi alternativi

  • valore checkbox restituisce sempre on indipendentemente dallo stato

Prodotti

  • jQuery Library (v1.x, v2.x, v3.x, v4.x)

Piattaforme

  • Linux
  • macOS
  • Qualsiasi Browser Web
  • Windows

Parole chiave

  • ajax
  • errore-jquery-val-on-checkbox-returns-on
  • javascript
  • jquery
  • jquery.dom.val-on-checkbox-returns-on
  • Manipolazione DOM e Animazioni
  • VAL_CHECKBOX_RETURNS_ON

Cause possibili

Origine del problema per Errore jQuery: .val() su Checkbox Restituisce Sempre 'on'

Invocare '.val()' su una casella di controllo HTML senza attributo value esplicito restituisce costantemente la stringa predefinita '"on"' sia che sia spuntata sia che sia deselezionata; per determinare se è attiva occorre interrogare '.prop("checked")' o '.is(":checked")'.

molto comune

Diagnosi

Diagnostica DOM o AJAX per Errore jQuery: .val() su Checkbox Restituisce Sempre 'on'

Verificare lo stato della variabile window.jQuery nella Console DevTools (F12) e ispezionare il tab Network per le chiamate AJAX.

Come leggere il risultato. Restituisce la versione attiva di jQuery e il numero effettivo di nodi DOM corrispondenti al selettore.

terminal
console.log(jQuery.fn.jquery); console.log($('.my-element').length);

Risoluzione

Risoluzione per Errore jQuery: .val() su Checkbox Restituisce Sempre 'on'

Difficoltà: facileRischio: basso

Applicare la correzione al codice o alla configurazione degli script jQuery nel frontend.

  1. Ispezionare la riga segnalata nella console del browser (F12)
  2. Correggere il selettore CSS, la chiamata AJAX, o l'ordine di inclusione dei file script
  3. Ricaricare la pagina con cache disattivata (Ctrl+F5) per verificare l'esito

Domande frequenti

Come risolvere l'errore Errore jQuery: .val() su Checkbox Restituisce Sempre 'on' in jQuery?

Invocare '.val()' su una casella di controllo HTML senza attributo value esplicito restituisce costantemente la stringa predefinita '"on"' sia che sia spuntata sia che sia deselezionata; per determinare se è attiva occorre interrogare '.prop("checked")' o '.is(":checked")'.

Approfondimenti

Schede correlate