Pytanie Przesyłanie wartości wyłączonego pola wejściowego


Chcę wyłączyć pole wejściowe, ale po przesłaniu formularza powinien on nadal przekazywać wartość.

Przypadek użycia: próbuję uzyskać szerokość i długość geograficzną z Map Google i chcę je wyświetlić, ale nie chcę, aby użytkownik je edytował.

czy to możliwe?


76
2017-10-28 17:42


pochodzenie


możliwy duplikat Wyłączone dane wejściowe formularza nie pojawiają się na żądanie - Alireza Fallah


Odpowiedzi:


Chcę wyłączyć pole wejściowe na   formularz i kiedy przesyłam formularz   wartości z wyłączona forma nie jest   przesłane.

Przypadek użycia: próbuję uzyskać Lat Lng   z Google Map i chcę wyświetlić to ...    ale nie chcę, żeby użytkownik go edytował.

Możesz użyć readonly właściwość w twoim polu wejściowym

<input type="text" readonly="readonly" />

171
2017-10-28 17:46



Pamiętaj, że wejście nadal będzie mogło odbierać fokus. Widzieć: stackoverflow.com/questions/5443952/... - Rafael Oliveira


Wiem, że to jest stare, ale właśnie wpadłem na ten problem i żadna z odpowiedzi nie jest odpowiednia. Rozwiązanie nickf działa, ale wymaga javascript. Najlepszym sposobem jest wyłączenie pola i nadal przekazywanie wartości jest użycie ukrytego pola wejściowego do przekazania wartości do formularza. Na przykład,

<input type="text" value="22.2222" disabled="disabled" />
<input type="hidden" name="lat" value="22.2222" />

W ten sposób wartość jest przekazywana, ale użytkownik widzi wyszarzone pole. Atrybut readonly nie wyszarza go.


15
2017-10-28 13:02



Możesz dodać CSS do wyłączonych pól tekstowych, aby je wyszarzyć. - krillgar


możesz również użyć atrybutu Readonly: dane wejściowe nie będą szare, ale nie będą edytowalne

<input type="text" name="lat" value="22.2222" readonly="readonly" />

10
2017-10-28 17:48





Elementy wejściowe mają właściwość o nazwie disabled. Po przesłaniu formularza po prostu uruchom taki kod:

var myInput = document.getElementById('myInput');
myInput.disabled = true;

3
2017-10-28 17:44



W odpowiedzi na pierwotne pytanie, aby przekazać wartość podczas przesyłania formularza, właściwość "disabled" powinna być "false" zamiast "true". - Daniel Vukasovich