Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z odczytywaniem checkboxow
Forum PHP.pl > Forum > XML, AJAX
Master Pain
Witam

Problem wyglada nastepujaco: poprzez ajaxa wyswietlam wyniki pobrane z bazy danych. Kazdy Wynik ma pole checkbox: <input type="checkbox" name="b[]" id="0" value="jakas_wartosc" />. Zmieniaja sie przy kazdym boxie id (0, 1, 2, 3, 4, 5, 6 itd.) oraz oczywiscie wartosci.

Poza divem, w ktorym wyswietla sie zawartosc, sa przyciski i jeden z nich zlicza miedzy innymi ile checkboxow zostalo zaznaczonych i pobiera wartosci z nich. Kod:
  1. var ciag = '';
  2. var k = 0;
  3. for(var i=0; i<1500; i++) {
  4. var zm = document.getElementById(i);
  5. if(zm) {
  6. if(zm.checked) {
  7. k++;
  8. ciag += zm.value+";";
  9. }
  10. }
  11. }


Problem w tym, iz kod ten nie chce mi zliczac tych pol. Dziala, jezeli strona jest normalnie wygenerowana, ale przez Ajaxa - nie. Dorzucilem: alert(k); aby sprawdzilo ile pol wykryl i za kazdym razem mam zerowy wynik :/

Czy ktos wie co moge zrobic aby temu zaradzic?
Potrzebuje pobrac te wartosci, ktore sa pod checkboxami i dodanie ich do zmiennej ciag.
box3r
zobacz w firebgu czy faktycznie dany checkbox ma wartosc true ; Nie wiem czy generujesz stronke jako tworzenie obiektu do dom czy poprostu wrzucasz to jako html przez innerHTML. jezeli 2 sposob to musisz to do doma wrzucic
Master Pain
Proszę o podpowiedź jak to wykonać. Wrzucam to faktycznie jako html.
box3r
Sa inne sposob ale to powinno pomoc

Kod
<html>

<body>
<form name = "form1" id="form1">
<input id="form1ch0" type="checkbox" /> <span> wart.1</span><br>
<input id ="form1ch1" type="checkbox" /> <span> wart.2</span>

</form>
</br></br>
<button id= "btn_c_check" > Policz</button>
<br><br><br>

Inna Ankieta


<form name = "form2" id="form2">
<input id="form2ch0" type="checkbox" /> <span> wart.1</span><br>
<input id ="form2ch1" type="checkbox" /> <span> wart.2</span><br>
<input id ="form2ch2" type="checkbox" /> <span> wart.3</span>
</form>
</br></br>
<button id= "btn_c_check1" > Policz</button>

</body>

<script language = "javascript">



function count_check(form_id)
{
var form_check = document.getElementById(form_id);
c_check = 0;
for(i=0;i< form_check.elements.length;i++)
{
if(document.getElementById(form_id+"ch"+i).checked == true)
c_check++;
}

return c_check;

}

window.onload = function ()
{

for(i=0;i< document.getElementById("form1").elements.length;i++)
{
document.getElementById("form1ch"+i).checked = false;
}

for(i=0;i< document.getElementById("form2").elements.length;i++)
{
document.getElementById("form2ch"+i).checked = false;
}

document.getElementById("btn_c_check").onclick= function()
{
alert(count_check("form1"));
}

document.getElementById("btn_c_check1").onclick= function()
{
alert(count_check("form2"));
}

}

</script>
</html>


poza tym powinna byc funkcja "ajaxowa" ktora obrabia dane ktore przyszly z serwera. Odpowiedzialna za to ktore checkboxy sa wlaczone ktore nie ;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.