Jag har en massa checkboxar som heter samma namn (kurser) och vill att alla som bockas i ska läggas i en array när de skickas som man når via php mha $_POST['kurser'];
Är det så det funkar?
Jag vet inte hur jag ska skriva för att hämta ut varje värde ur arrayen (om det nu blir någon :P).
<input type="checkbox" class="middle" name="kurser" value="Grundkurs i Massage, Hudiksvall"/> Grundkurs i Massage, Hudiksvall<br/>
<input type="checkbox" class="middle" name="kurser" value="Grundkurs i Massage, Sundsvall"/> Grundkurs i Massage, Sundsvall<br/>
<input type="checkbox" class="middle" name="kurser" value="Fortsättningskurs i Massage, Hudiksvall"/> Fortsättningskurs i Massage, Hudiksvall<br/>
<input type="checkbox" class="middle" name="kurser" value="Fortsättningskurs i Massage, Sundsvall"/> Fortsättningskurs i Massage, Sundsvall<br/>
<input type="checkbox" class="middle" name="kurser" value="Massage på arbetsplatsen"/> Massage på arbetsplatsen<br/>
hur går detta alltså när jag ska hämta värdet på resultatet?
<input type="checkbox" class="middle" name="kurser[]" value="Grundkurs i Massage, Hudiksvall"/> Grundkurs i Massage, Hudiksvall<br/>
Så bör nu alla ikryssade kurser hamna i $_POST['kurser']
(förutsatt att du satt formulärets metod till post och inte get.)
$_POST['kurser'] är nu en array med alla ikryssade checkboxar i.
Så om du kör en liten foreach loop på $_POST['kurser'] så kommer du att se allt som ligger däri.
Nu har jag ett annat problem... när jag ändrade namnet till kurser[] så funkar inte min javascript-verifikation på att någon av selectsatserna var ibockad.... den kod jag använder är:
var error=true;
for(var i=0;i<f.kurser.length;i++){
if(f.kurser[i].checked)
error=false;
}
if(error){
alert("Du måste välja en kurs");
return false;
}
vi har ju ändrat namnet kurser till kurser[] och jag förstår inte hur jag ska göra..
Ivarjefall... funkar ditt sätt så kör det då istället, för uppenbarligen då så funkar det ju bättre :) men hmmm, konstigt...
Javascript är jag ju ingen höjdare på, men kan det vara såhär enkelt?
var error=true;
for(var i=0;i<f.kurser[].length;i++){
if(f.kurser[][i].checked)
error=false;
}
if(error){
alert("Du måste välja en kurs");
return false;
}
Ganska låg sannolikhet att det skulle fungera, men kan ju vara värt ett försök, annars är det nog bättre att kila över till javascript forumet och ställa frågan, eller be en moderator att flytta denna tråden dit.