2012-01-19 18 views
111

C'è un modo (con un flag di attributo o qualcosa di simile) per abilitare i campi modulo che sono disabilitati per inviare i dati?Campi modulo disattivati ​​che non inviano dati

Oppure, se ciò non è possibile, c'è un modo per bloccare i campi da modificare con css o qualsiasi altro attributo di disabilitato senza nasconderlo?

Il mio caso speciale al momento è un identificativo per un set di dati che dovrebbe essere mostrato nel modulo (non modificabile) - se non c'è soluzione migliore penso che userò un campo nascosto oltre a quello disabilitato per mantenere il valore reale con quello disabilitato mostrandolo.

+3

Eventuali duplicati di [input di form disabili non compaiono nella richiesta] (http://stackoverflow.com/questions/73 57256/disabled-form-input-do-not-appear-in-the-request) –

risposta

175

Checkout l'attributo di sola lettura http://www.w3schools.com/tags/att_input_readonly.asp

+1

Grande - Deve essersi perso quello mentre sfogliava gli attributi ... funziona perfettamente, grazie :) – bardiir

+1

Dead link? C'è anche una [risposta più approfondita qui] (http://stackoverflow.com/a/7357314/2930477). – misterManSam

+5

Il problema è che l'attributo ready-only non è realmente di sola lettura nell'elemento select form. Sono ancora in grado di selezionare un'altra opzione dall'elenco a discesa con sola lettura, quindi sconfiggere il suo scopo. – Donato

45

elementi con attributo Disabled non siano presentate o si può dire i loro valori non sono inviati.

cioè

<input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

FYI,

  1. controlli disabili non ricevono attenzione.
  2. I controlli disabilitati vengono saltati in navigazione con linguette.
  3. I controlli disabilitati non possono essere inviati correttamente.

È possibile utilizzare l'attributo readonly nel tuo caso, in questo modo potrai pubblicare i dati del tuo campo.

cioè

<input type="textbox" name="Percentage" value="100" readonly="readonly" /> 

proposito,

  1. sola lettura elementi ricevono lo stato attivo ma non possono essere modificati dall'utente.
  2. Gli elementi di sola lettura sono inclusi nella navigazione con linguette.
  3. Gli elementi di sola lettura vengono inviati correttamente.

Nota: READONLY non funziona su caselle di controllo e selezionare i tag

Ref from

8

Come è stato già detto: READONLY non funziona per <input type='checkbox'> e <select>...</select>.

Se si dispone di un Form con disabilità caselle di controllo/seleziona e bisogno di loro per essere presentate, è possibile utilizzare jQuery:

$('form').submit(function(e) { 
    $(':disabled').each(function(e) { 
     $(this).removeAttr('disabled'); 
    }) 
}); 

Questo codice rimuove l'attributo disabled da tutti gli elementi su Invia.

-1

se si desidera disabilitare campo o vuole inviare valore, è possibile provare questo

<input type="hidden" name="Percentage" value="100" /> 
<input type="textbox" name="Percentage" value="100" disabled />