HubertMedlem sedan maj 200219 inlägg Jag skulle vilja ha hjälp med ett javascript.
<script script language="JavaScript">
function checkRow(formObj,row,start,stop){
for(n=start;n<=stop;n++){
eval("formObj."+row+n+".checked=true;");
}
}
function unCheckRow(formObj,row,start,stop){
for(n=start;n<=stop;n++){
eval("formObj."+row+n+".checked=false;");
}
}
</script>
Länk:
<a href="#" onClick="checkRow(document.playlist,'urls',1,<? echo $hits; ?>); return false;">Markera alla</a><br>
<a href="#" onClick="unCheckRow(document.playlist,'urls',1,<? echo $hits; ?>); return false;">Avmarkera alla</a>
Nu är det så att jag vill att den ska skita i om det kommer flera bokstäver efter urls, som man har angivit som checkbox namn. så om en checkbox heter urlsar1 så ska den ta dem också. eller finns det nåt sätt som man kan strippa bort [ ] i java script, för jag måste ha dessa när jag ska kombinera javascriptet med php. jag har nämligen massa checkboxar med namnen urls[1] urls[2] osv... det är en array. men om jag har med [ ] i javascriptet så byggar den ur. nån som kan hjälpa? sen skulle det vara bra om man kunde göra så att scriptet togglar istället för att ha två kanppar. alltså att man har en knapp som switchar mellan alla markerade och alla avmarkerade. men det viktiga är att den funkar i php, alltså att man kan ha urls[1] som namn och inte bara urls.
tack på förhand!
HubertMedlem sedan maj 200219 inlägg för alla er som har samma problem, jag vet att nån mer har det, för jag har läst andra trådar här på wf och jag har nu fått en lösning:
<input type="checkbox" name="urls[1]" id="urls1">
det är alltså bara att lägga till id, så enkelt var det, och det funkar fint, tack till Malte på phpportalen.net som svarade på min fråga.
tack!
JojoxxMedlem sedan juni 20004 308 inlägg Den lösningen funkar dock inte i Netscape 4. Vill du att det skall fungera där också får du göra som den tidigare tråden här i wF nämner att låta bli att använda "[" och "]" i fältnamnen och ge checkboxarna namn som urls1, urls2 osv och sedan loopa igenom formulärsdatat i php för att skapa din array som du sedan använder.
HubertMedlem sedan maj 200219 inlägg okej, men det är så att jag kan inte skapa en array efteråt, pga att jag har massa checkboxar med urls[1] osv som name. och när man sen kryssat i några och skickar det till en annan sida så får jag ju en array i stil med urls [1] [3] [7], det kan man väl inte lyckas med efteråt eftersom jag inte ska ha med alla urls[] i arrayen utan bara dem som är markerade. eller kan man på nåt sätt skapa en array när man trycker på submit kanppen och det skickas till en anna sida? för den ska ju bara skapa arrayen med dem markerade värdena.
som det är nu så skapas ju arrayen automatiskt i formuläret, och när man kryssat i några boxar så skickar ju den bara dem, och då skapas det ju en array pga att [ ] finns med i namnen.
JojoxxMedlem sedan juni 20004 308 inlägg Hurvida namnet på checkboxarna är namn[1] eller namn1 gör ingen skillnad i html, och formuläret skickas på samma sätt i båda fallen. Det är php som har en lite småkorkad lösning på detta eftersom man tvingas våldföra sig på formuläret i html för att få svaret på ett enkelt sätt till en array. Titta in på PHP-forumet och kolla hur du enklast loopar igenom fältnamnen för att skapa en array.
MatteMedlem sedan aug. 20002 975 inlägg Vill du använda dig av typen name="urls1" så kan du använda följande kod för att samla variablerna i en array på skript-sidan:
foreach ($HTTP_POST_VARS as $key => $value){
if (substr($key,0,4) == "urls"){
$urls[substr($key,4)] = $value;
}
}
HubertMedlem sedan maj 200219 inlägg ok, tack matte.
det funkar, men du skulle inte vilja säga vad som händer i koden exakt, så man lär sig lite, gärna vad typ => gör osv.
tack på förhand!
MatteMedlem sedan aug. 20002 975 inlägg /* $HTTP_POST_VARS, eller $_POST i PHP>=4.1.0, samlar
POST-variablerna i en associativ array där index är "name"
i ditt formulär-element och värdet är "value" från samma
formulär-element.
foreach loopar igenom dina POST-variabler och lägger
index i $key och värdet i $value */
foreach ($HTTP_POST_VARS as $key => $value){
// Kollar om strängen "urls" finns i index fyra första bokstäver
if (substr($key,0,4) == "urls"){
/* Strängen finns. Tar ut en delsträng ur index fr.o.m femte
bokstaven och använder den som index i arrayen $urls.
Värdet för det nya array-elementet är lika med POST-
variabelns värde. */
$urls[substr($key,4)] = $value;
}
}
Jag är ingen pedagog, men kanske du förstod något av det. I vilket fall kan du läsa mera i manualen: http://www.php.net/manual/en/control-structures.foreach.php
HubertMedlem sedan maj 200219 inlägg javisst förstod jag, tack så mycket. det var skitbra. :birp