2012-01-19 21 views
111

Czy istnieje sposób (z flagą atrybutu lub czymś w tym stylu), aby włączyć pola formularzy, które są wyłączone w celu przesyłania danych?Nieaktywne pola formularza, które nie przesyłają danych

Lub, jeśli nie jest to możliwe, czy istnieje sposób blokowania pól przed edycją przy użyciu css lub innego atrybutu niż wyłączony bez ich ukrywania?

Obecnie moim specjalnym przypadkiem jest identyfikator zbioru danych, który powinien być pokazany w formularzu (nie można edytować) - jeśli nie ma lepszego rozwiązania, myślę, że użyję ukrytego pola oprócz wyłączonego do trzymania rzeczywistej wartości z wyświetloną osobą niepełnosprawną.

+3

Możliwy duplikat [wejść formularza niepełnosprawnych nie są wyświetlane w żądaniu] (http://stackoverflow.com/questions/73 57256/disabled-form-input-do-not-appear-in-the-request) –

Odpowiedz

175

sprowadzić tylko do odczytu atrybut http://www.w3schools.com/tags/att_input_readonly.asp

+1

Świetnie - Tęskniłem za tym, gdy sprawdzam atrybuty ... działa idealnie, dzięki :) – bardiir

+1

Martwy link? Istnieje również [bardziej dogłębna odpowiedź tutaj] (http://stackoverflow.com/a/7357314/2930477). – misterManSam

+5

Problem polega na tym, że atrybut ready-only nie jest tak naprawdę tylko do odczytu w elemencie select form. Nadal jestem w stanie wybrać inną opcję z listy rozwijanej tylko do odczytu, dlatego też pokonuję jej cel. – Donato

45

Elementy z atrybutem Disabled nie są przekazywane lub można powiedzieć, ich wartości nie są publikowane.

tj

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

FYI,

  1. niepełnosprawnych kontrole nie otrzymują ostrość.
  2. Wyłączone elementy sterujące są pomijane podczas nawigacji w kartach.
  3. Wyłączone elementy sterujące nie mogą zostać pomyślnie opublikowane.

Możesz użyć atrybutu readonly w swojej sprawie, dzięki czemu będziesz mógł wysyłać dane pola.

tj

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

FYI,

  1. tylko do odczytu elementy otrzymać ostrość ale nie mogą być modyfikowane przez użytkownika.
  2. Elementy do odczytu są uwzględniane w nawigacji w kartach.
  3. Elementy tylko do odczytu zostały pomyślnie opublikowane.

Uwaga: READONLY nie działa na wyboru i wybierz Znaki

Ref from

8

Jak już wspomniano: READONLY nie działa dla <input type='checkbox'> i <select>...</select>.

Jeśli masz Form z wyboru niepełnosprawnych/wybiera i trzeba je złożyć, można użyć jQuery:

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

Ten kod usuwa atrybut z wszystkimi elementami przedstawienia disabled.

-1

jeśli chcesz wyłączyć pole lub chcesz przesłać wartość, można spróbować to

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