Dzieki wszystkim za pomoc.
Przebudowałem nieco mój kod na taki :
<script type="text/javascript">
function check_form(f) {
if (f.pyt_1.value == ''){alert('Proszę uzupełnić kod pocztowy');return false;}
if (!f.pyt_2[0].checked && !f.pyt_2[1].checked && !f.pyt_2[2].checked){alert('Proszę uzupełnić branżę');return false;}
if (f.pyt_3[0].checked == false && f.pyt_3[1].checked == false){alert('Proszę uzupełnić pole zgody dotyczącej danych osobowych');return false;}
return true;}
</script>
<form action="index.html" onsubmit="return check_form(this)">
<p>1. Kod pocztowy<sup> (*)</sup>
<br><input type="text" name="pyt_1" size="50">
<p>2. Branza<sup> (*)</sup>
<br><input type="checkBox" name="pyt_2" value="1">Szkolenia
<br><input type="checkBox" name="pyt_2" value="2">Wyposarzenie biur
<br><input type="checkBox" name="pyt_2" value="3">Rozrywka
<p>3. Czy zgadzasz sie na przetwrzanie danych osobowych ?<sup> (*)</sup>
<br><input type="radio" name="pyt_3" value="Tak">Tak
<br><input type="radio" name="pyt_3" value="Nie">Nie
<br><input type="submit" value="Wyślij" /></form>
Skrypt działa jak złoto, sprawdza czy wypełniony jest checkbox, radio, input text. Ale idąc dalej tą analogią chciałbym aby javascript sprawdzał pętlą checkoboxy bo może dojśc do sytuacji że nie będę wstanie z góry wiedziec ile ich będzie.
Przykład formularza :
<form action="index.html" onsubmit="return check_form1(this)">
<p>1. Kod pocztowy<sup> (*)</sup>
<br><input type="text" name="pyt_1" size="50">
<p>2. Branza<sup> (*)</sup>
$ile=140;
for($x=0;x<$ile;$x++)
{
<br><input type="checkBox" name="pyt_2[$x]" value="$x">$jakas_zmienna[$x
}
<p>3. Czy zgadzasz sie na przetwrzanie danych osobowych ?<sup> (*)</sup>
<br><input type="radio" name="pyt_3" value="Tak">Tak
<br><input type="radio" name="pyt_3" value="Nie">Nie
<br><input type="submit" value="Wyślij" /></form>
Jak w tym przypadku sprawdzić czy choć jeden checkbox jest zaznaczony ?
Próbowałem coś, takiego :
function check_form1(f){
WartoscPola = "";
iloscradiobuttonow = document.f.pyt_2.length;
for (var i=0; i < iloscradiobuttonow; i++) {
if (f.pyt_2[i].checked == true) {
WartoscPola = f.pyt_2[i].value;
return;
}
}
if (WartoscPola == false){alert('Proszę wybrać choć jeden checkbox');return false;}
}
Bardzo prosze o pomoc, bo z js słabo mi idzie, ale bardzo mi się podoba i zaczynam łapać podstawy.
Witam
Kto mi pomoże z tym formularzem. Tym razem
function check_form2(f){
if (f.doprowadzil.value=='' && f.doprowadzil2.value==''){alert('Alert 1');return false;}
if (f.dyspozycja.value=='' && f.dyspozycja2.value==''){alert('Alert 2');return false;}
return true;}
Formularz składa się z 2 opcji
<form action='cos_tam.php' name='form2' method='POST' onsubmit=\"return check_form2(this);\">
$zapytanie="select dyspozycja FROM ks_ewidencji where (dyspozycja!='') group by dyspozycja order by dyspozycja";
$dyspozycja = ją uzyskuje w wyniku wcześniejszych zapytań
<select name='dyspozycja' id='dyspozycja' style='width: 180px; size='1'>
for($i=0;$i<$ile;$i++){print"<option value='$sl[$i]'>$sl[$i]</option>";}unset($sl,$ile);
<input type='checkbox' value='wartość' onclick=\"this.form.elements['dyspozycja2'].disabled = !this.checked; this.form.elements['dyspozycja'].disabled = this.checked\" /> inna :
<input type='text' name='dyspozycja2' style='width: 150px;' disabled='disabled'>
Można wybrać coś z selecta lub zaznaczyć checkboxem uaktywnienie drugiego pola (input text). Chciałbym uzsyakć alerta o tym iż osoba zaznaczyła checkboxa (że chce wpisać coś w pole input text) a nic nie wpisała.
Pomocy!