Mam wybraną listę wielokrotną zawierającą kilka elementów. Jest to lista adresów IP dla listy ACL. Użytkownicy mogą dodawać/usuwać adresy IP, a następnie zapisywać listę. Jeśli jednak nie wybierzesz pozycji na liście, $_POST[selectName]
nie zawiera żadnych wartości. Jak mogę to zrobić? Wiem, że mogę to zrobić z javascript, ale wolę trzymać się PHP.Jak mogę POST wszystkie opcje na liście wyboru?
Odpowiedz
Edytuj/poprawiono: Potrzebujesz JS. Nie ma możliwości wysłania wszystkich (wybranych i niewybranych) opcji za pośrednictwem POST. Musisz zaprogramować wszystkie opcje przed przesłaniem.
Plik z formularza (file1.php):
<script type="text/javascript">
function selectAll()
{
selectBox = document.getElementById("someId");
for (var i = 0; i < selectBox.options.length; i++)
{
selectBox.options[i].selected = true;
}
}
</script>
<form method="post" action="file2.php">
<select id="someId" name="selectName[]" multiple>
<option value="123.123.123.123">123.123.123.123</option>
<option value="234.234.234.234">234.234.234.234</option>
</select>
<input type="submit" name="submit" value=Submit onclick="selectAll();">
</form>
pliku, który odbiera POST (file2.php):
<?php
foreach ($_POST['selectName'] as $item)
{
print "$item<br/>";
}
?>
Chce * wszystkie * dostępne wartości wysyłane z 'wielu', a nie tylko wybranych. –
@Pekka 웃 aaah, więc może powinien ustawić wszystkie te opcje jako wybrane? – Kamil
yup; będzie potrzebował JavaScript dla tego –
Wystarczy dołączać ten można również użyć wersji z jQuery @ Kod Kamila, który jest trochę prostszy niż pętla:
<script type="text/javascript">
jQuery('[name="form1"]').on("submit",selectAll);
function selectAll()
{
jQuery('[name="selectName[]"] option').prop('selected', true);
}
</script>
<form name="form1" method="post" action="file2.php">
<select id="someId" name="selectName[]" multiple>
<option value="123.123.123.123">123.123.123.123</option>
<option value="234.234.234.234">234.234.234.234</option>
</select>
<input type="submit" name="submit" value=Submit onclick="selectAll();">
</form>
- 1. Jak mogę przejrzeć wszystkie zaznaczone pola wyboru?
- 2. Jak mogę podać tablicę jako opcje do wyboru elementu?
- 3. Kwadratura wszystkie elementy na liście
- 4. Zaznacz wszystkie pola wyboru na liście wyboru za pomocą jednego kliknięcia, używając C#
- 5. Jak przyciąć wszystkie elementy na liście?
- 6. kątowe 2 opcje wyboru wartość domyślna
- 7. Opcje wielu opcji wyboru jenkins
- 8. jquery.load() na POST wszystkie elementy formularza, zamiast określać, co POST
- 9. Wybierz wiersze spełniające wszystkie pozycje na liście
- 10. odjąć wszystkie pozycje na liście przed siebie
- 11. Java 8 uzyskać wszystkie elementy na liście
- 12. Jak ustawić powtarzania UILocal Powiadomienia na liście wyboru dni tygodnia
- 13. Jak mogę zablokować muteks na liście inicjalizatora?
- 14. Jak sprawdzić, czy wszystkie pozycje na liście znajdują się na innej liście?
- 15. HTML wyboru w liście select
- 16. jak poznać wszystkie opcje stylu widżetu ttk
- 17. Jak ograniczyć opcje pól wyboru na podstawie innego pola wyboru w Django administratora
- 18. Angular $ HTTP wysyła OPCJE zamiast PUT/POST
- 19. Jak włączyć/wyłączyć opcje w polu wyboru przy użyciu jquery
- 20. Otrzymuj dane POST z wielu pól wyboru?
- 21. Flag wszystkie ale jeden duplikaty na liście
- 22. Usuń wszystkie oprócz pierwszego elementu na liście
- 23. Jak wyodrębnić wszystkie elementy określonej właściwości na liście?
- 24. autouzupełnianie pokazuje wszystkie opcje skupienia
- 25. Wyłącz opcje w liście rozwijanej załączonym jQuery
- 26. Sprawdź, czy wartość znajduje się na liście wyboru z JQuery
- 27. Jak sprawdzić wszystkie elementy na liście, które mają określone wymagania?
- 28. Jak sprawdzić, czy wszystkie poniższe pozycje znajdują się na liście?
- 29. Jak przyciąć wszystkie elementy na liście za pomocą Groovy?
- 30. Angular 2 HTTP POST wywołuje OPCJE
Przeglądarka nie wysyła tych wartości do PHP, potrzebujesz JavaScript do manipulowania e proces składania wniosków. W związku z tym nie ma sposobu, aby to zrobić tylko w PHP –
Widziałeś to? http://stackoverflow.com/questions/2407284/how-to-get-multiple-selected-values-of-select-box-in-php – Kamil
Tradycyjnym sposobem wykonania tej czynności jest użycie wyboru, który można wybrać do wyboru, a następnie przy składaniu formularza mają javascript wybierz wszystkie opcje. – Jodes