Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pętla po checkboxach // rozwiązany
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
john_doe
Mam taki form
  1. <form name="myForm" action="od.php" method="post" >
  2.  
  3. <input type="checkbox" id="id1" name="czek[]" value="1" />
  4. <input type="checkbox" id="id2" name="czek[]" value="2" />
  5. <input type="checkbox" id="id3" name="czek[]" value="3" />
  6. <input type="checkbox" id="id4" name="czek[]" value="4" />
  7. <input type="checkbox" id="id5" name="czek[]" value="5" />
  8.  
  9. <input type="button" value="send" onClick="submitForm()" />
  10.  
  11. </form>


chciałbym jechać po kolei po id checkboksów i gdy dany checkbox nie jest zachaczony zachaczyć go i nadać wartość "x" i wysłać form
  1. function submitForm()
  2. {
  3. var number = 1;
  4. var elementy = document.forms['myForm'].elements;
  5. var ile = elementy.length - 1;
  6.  
  7. alert(ile);
  8.  
  9. for( var i = 1 ; i <= ile ; i++ )
  10. {
  11. if(document.getElementById("id" + i).checked == false)
  12. {
  13. document.getElementById("id" + i).checked = true;
  14. document.getElementById("id" + i).value = "x";
  15. }
  16. }
  17.  
  18. document.forms.myForm.submit();
  19. }
NuLL
Kod dla MooTools dla przykladu - PRO-TIP uzyj jakies biblioteki, frameworka
Kod
$('twoj-formularz').addEvent('submit',function(){

this.getElements('input[type="checkbox"]').each(function(cb){
if(ch.checked==false){
cb.set('value',x);
cb.set('checked',true);
}
});
return true;
});
wszerad
Po pierwsze przy działaniach na formularzach korzystaj z:
Kod
document.forms['Formularz'].elements['name']

Zamiast name i Formularz możesz też wstawić liczbę więc możesz tą operacje wykonywać pętlą bez nadawania im id czy name. Poza tym nie wiem dlaczego tak kombinujesz skoro potem w pliku php możesz to zmienić:
Kod
if($_POST['name']==false){i tu co dalej}
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.