To jest to, co znalazłem przez fireBug w firefox.wartości wyłączonych wejść nie zostaną przesłane?
Czy to samo dzieje się w innych przeglądarkach?
Jeśli tak, jaki jest tego powód?
To jest to, co znalazłem przez fireBug w firefox.wartości wyłączonych wejść nie zostaną przesłane?
Czy to samo dzieje się w innych przeglądarkach?
Jeśli tak, jaki jest tego powód?
Tak, wszystkie przeglądarki
nie powinny
nie powinny przekazywać wyłączonych wejść, ponieważ są one tylko do odczytu.
More info (rozdział 17.12.1)
definicji atrybutów
wyłączone [CI] Kiedy zestaw do kontrolnej postaci, Ta wartość atrybutu wyłącza sterowanie wprowadzania. Po ustawieniu wyłączony atrybut ma następujący wpływ na element:
- Wyłączone elementy sterujące nie są ogniskowane.
- Wyłączone elementy sterujące są pomijane podczas nawigacji w kartach.
- Wyłączone elementy sterujące nie mogą się powieść.
Następujące elementy obsługują atrybut disabled: BUTTON, INPUT, OPTGROUP, OPTION, SELECT i TEXTAREA.
Ten atrybut jest dziedziczony, ale lokalne deklaracje zastępują odziedziczoną wartość .
Sposób renderowania wyłączonych elementów zależy od agenta użytkownika. W przypadku przykładu, niektóre programy klienckie "wyszarzają" wyłączone elementy menu, etykiety itd.
W tym przykładzie element INPUT jest wyłączony. W związku z tym użytkownik nie może odbierać danych wejściowych od użytkownika ani przesyłać jego wartości za pomocą formularza.
<INPUT disabled name="fred" value="stone">
Uwaga. Jedynym sposobem dynamicznego modyfikowania wartości wyłączonego atrybutu jest użycie skryptu.
Obejście: dodaj element '' o tej samej nazwie/wartości co wyłączone wejście. –
wszelkie informacje o tym, która przeglądarka działa i której nie przestrzega? – Allisone
@JohnKugelman dobry pomysł, ale upewnij się, że przypadkowo nie dodajesz ukrytych atrybutów. Zrobiłem to: $ ('# thingy'). Val (nieważne) .not ('[type = hidden]'). Attr ("wyłączony", "wyłączony") –
Nie zostaną przesłane, ponieważ that's what it says in the W3C spec.
17.13.2 Skuteczne kontrole
Skuteczna kontrola jest "ważna" dla złożenia. [wycinanie]
- Kontrolki, które są wyłączone, nie mogą się powieść.
Innymi słowy, specyfikacja mówi, że wyłączone elementy sterowania są uważane za nieważne i nie należy ich przesyłać.
disabled
dane wejściowe nie będą przesyłane.
Użyj atrybutu readonly
:
<input type="text" readonly />
ale to nie działa w przypadku tagów select! – shareef
@shareef http://jsbin.com/diloha/1/ Co powiesz na to? –
@FrankFang, Ok, ale, kiedy przekazuję dane do szablonu ostrza zbiorowego Laravel. To nie zadziała. nie można wysyłać danych w ten sposób. –
Disabled
kontrole nie mogą odnieść sukces, a sukces sterowania jest "ważna" dla złożenia. Jest to powód, dla którego wyłączone elementy sterujące nie są przesyłane za pomocą formularza.
Można ustawić atrybut "tylko do odczytu". Chrome na przykład renderuje to jako wyłączone pole, ale przesyła je. – peterrus
Możliwy duplikat [Wyłączone dane wejściowe formularza nie pojawiają się w żądaniu] (http://stackoverflow.com/questions/7357256/disabled-form-inputs-do-not-appear-in--request) – hazzik