ODSWIEZAM
EDIT
Mam taki kod:
for($i = 1; $i < $ilosc; $i++)
{
$odznaczki .= '<label><input type="checkbox" value="'.$i.'" name="odz[]" />'.$odznaki['odznaka'.$i.''].'</label><br>';
}
$this->dane_strony['TRESC'] .= '
<form id="odzn" onsubmit="return sprawdz_formularz();" method="post"><div>
<fieldset>
<legend>Wybierz 2 odznaki</legend>
'.$odznaczki.'
<input type="hidden" name="sms" value="'.$sms.'" />
<input type="hidden" name="nick" value="'.$nick.'" />
<input type="hidden" name="mail" value="'.$email.'" />
<input type="submit" name="sprawdz" value="Zamow" />
</fieldset>
</form><div>';
To jest kod ktory odczytuje zawartosc zmiennej $_POST['odz']
$i = 1;
foreach($_POST['odz'] as $value)
{
$odznak['odznaka'.$i.''] = $odznaki['odznaka'.$value.''];
$i++;
}
Jak mam przerobic ten kod:
function sprawdz_formularz()
{
var f = document.forms['odzn'];
var ile = f.odz.length;
var zaznaczono = 0;
for (var i=0; i < ile ; i++)
{
if(f.odz[i].checked == true)
{
zaznaczono++;
}
}
if(zaznaczono < 2)
{
alert('proszę zaznaczyc dwie opcje!');
return false;
}
if(zaznaczono > 2)
{
alert('Mozna zaznaczyc tylko dwie opcje!');
return false;
}
return true;
}
aby dzialal poprawnie?
Kiedy zmienie to:
for($i = 1; $i < $ilosc; $i++)
{
$odznaczki .= '<label><input type="checkbox" value="'.$i.'" name="odz[]" />'.$odznaki['odznaka'.$i.''].'</label><br>';
}
na to:
for($i = 1; $i < $ilosc; $i++)
{
$odznaczki .= '<label><input type="checkbox" value="'.$i.'" name="odz" />'.$odznaki['odznaka'.$i.''].'</label><br>';
}
To funkcja sprawdz_formularz() dziala poprawnie natomiast nie odczytuje mi zawartosci $_POST['odz']. Jezeli jednak bedzie tak jak na poczatku podawalem to nie dziala funkcja sprawdz_formularz, ale dziala odczytanie zawartosci tej zmiennej.
Wiec jeszcze raz. Jak przerobic funkcje sprawdz_formularz() aby działała z name="odz[]"?
EDIT 2
Dodam jeszcze ze wujek google mi powiedzial, ze powinno zadzialac to z jquery, ale nie znam tego wiec proszę was o pomoc
Użytkownik ZepA*** edytował ten post 16.02.2012 17:26