• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

document.getElementById - tablica

Mały hosting, OGROMNE możliwości
0 głosów
1,064 wizyt
pytanie zadane 25 sierpnia 2019 w JavaScript przez TomekN Początkujący (330 p.)

Cześć,

Usiłuję obsłużyć form action multiple za pomocą ajax. Chodzi mi o to, że nie wiem jak sprawić by funkcja pobrała zmienną jako tablicę.

var jedzonko = document.getElementById("jedzonko").value;-ten fragment jest zły ale nie wiem jak poprawić.

Plik nadawczy:

<script>
function dodaj(){
    var hr = new XMLHttpRequest();
    var url = "multiple2.php";
    var jedzonko = document.getElementById("jedzonko").value;
    var vars = "jedzonko="+jedzonko;
    hr.open("POST", url, true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.onreadystatechange = function() {
	    if(hr.readyState == 4 && hr.status == 200) {
		    var return_data = hr.responseText;
			document.getElementById("status").innerHTML = return_data;
	    }
    }
    hr.send(vars); // Actually execute the request
    document.getElementById("status").innerHTML = "processing...";
}
</script>
<form>
<select name="jedzonko[]" id="jedzonko" multiple="multiple">
<option value="cukierki">cukierki</option>
<option value="czekolada">czekolada</option>
<option value="lody">lody</option>
</select>
</form>
<button onclick="dodaj()">Funkcja JS</button>
<div id ="status">Tu się pojawi</div>

Plik odbiorczy:

<?php
foreach ($_POST['jedzonko'] as $selectedOption)
    echo $selectedOption."\n";
?>

 

2 odpowiedzi

+1 głos
odpowiedź 25 sierpnia 2019 przez niezalogowany
document.querySelectorAll('option:checked')

Zwraca wszystkie zaznaczone opcje. Możes zużyć pętli for i sprawdzać tekst/vartość.

0 głosów
odpowiedź 25 sierpnia 2019 przez tangarr Mędrzec (155,140 p.)

Wydaje mi się, że powinieneś przeiterować po wszystkich opcjach i sprawdzić właściwość selected.
Przykładowy kod (może nie działać, to tylko idea)
 

var jedzonko = document.getElementById("jedzonko").value
var wynik = []
for (var i=0; i<jedzonko.options.lenght; i++) {
    var option = jedzonki.options[i];
    if (option.selected)
        wynik.push(option.value)
}

 

Podobne pytania

0 głosów
1 odpowiedź 1,151 wizyt
0 głosów
2 odpowiedzi 1,549 wizyt
pytanie zadane 3 września 2018 w JavaScript przez vneb Początkujący (490 p.)
0 głosów
2 odpowiedzi 304 wizyt
pytanie zadane 3 maja 2017 w JavaScript przez sapero Gaduła (4,100 p.)

93,715 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,258 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...