07. marts 2002 - 14:15Der er
33 kommentarer og 3 løsninger
tjek checkbokse ved valg.... ?
Hejsa! Fatter ikke ret meget af java... så håber der er nogen der kan hjælpe!
Jeg har en formular der indeholder 4 radiobuttons.. <tr><td>Pakke</td><td> <input type="radio" name="kundegr" value="1"> minimal<br> <input type="radio" name="kundegr" value="2"> basis<br> <input type="radio" name="kundegr" value="3"> plus<br> <input type="radio" name="kundegr" value="4"> vip<br> </td></tr>
dernæst her jeg godt 40 checkbokse... jeg vil gerne have noget der kan tjekke om der er valgt for mange checkbokse når disse vælges.......
her er et par af mine checkbokse : <input type='checkbox' name='levgr[]' value='9'> Beklædning -> Dametøj<br> <input type='checkbox' name='levgr[]' value='10'> Beklædning -> Herretøj<br> <input type='checkbox' name='levgr[]' value='12'> Beklædning -> Lingeri<br> <input type='checkbox' name='levgr[]' value='13'> Beklædning -> Sko<br>
det skal foregå på denne her måde..
Man vælger en "pakke" har man valgt pakke 1 (minimal) må man IKKE have lov til vælge nogen af checkboksene, så hvis man her forsøger at lave valg her, vil man få en advarsel, og det valg man foretog vil blive fjernet igen. vælger man pakke 2 (basis) må man MAKS vælge 2 checkbokse... overskrides dette vil ma igen blive mødt af en advarsel og det sidste klik anuleret. vælger man pakke 3 (plus) må man vælge 3 og vælger man pakke 4 (vip) må man vælge alle dem man har lyst til.....
neida, du *skal* ikke benytte [] som navn på checkboxer. Dette er en arraybetegnelse i PHP og når man requester fx en samling checkboxer, så blir alle de valgte verdier lagt i en array, og dermed får de suffixet []
I følge HTML spesifikasjonen så er ikke [ og ] tillatt i navngivning av formelementer, så du kan trygt fjerne disse...
eksperten er da helt forvirende lige nu.. jeg poster i dit navn og du poster i mit... skal vi bytte point ? *GG*
Nå spøj til side. det funger altså ikke....
Jeg bruger følgende i php til at danne det der skal indsættes i databasen if ($levgr) { $levgr_1 = ""; while(list($key,$val)=each($levgr)){ $levgr_1 .= $val . ", "; } $levgr_1 = substr($levgr_1, 0, -2); }
Og når jeg fjerner disse [] så får jeg følgende fejl : Warning: Variable passed to each() is not an array or object
Hmm hvordan samler jeg så disse valg når jeg ikek må bruge levgr[] ?
[] i javascript betegner et array og du kan ikke navngi en variabel, formelement eller noe som helst som inneholder []. Du har fått svar på ditt spørsmål...hvordan du videre vil behandle dine variabler må du nok over i PHP kategorien for å få svar på...
Her vælger jeg øvereste og nedereste checkboks.. så vil jeg gerne have værdien af value elementet i de 2 checkbokse adskildt af et , altså i eksemplet 9, 13 kan det lade sig gøre ?
Selvfølgelig holder den. Jeg tæller antallet af afkrydsninger, og viser dem i en alert. Du skal selvfølgelig bruge antallet til noget andet - men den logik er jeg nu ret sikker på du selv kan klare.
Mit indlæg er blot for at vise, at du kan beholde din navngivning, som er smart nok med PHP.
nu har jeg rodet alle 3 script sammen, og nu funger det da slet ikke..... :-(( ej.. det med indrykninger, syntes jeg ikke er så vigtigt... og alle { -- } ere er der... og det hjalp helelr ikek at fjerne den linie du sidste gjorde opmærksom på :-((
Hør nu, hvis du tager det på den måde, er du så ikke så venlig bare at afvise mit svar. Så glemmer vi det.
Indrykning er vigtig, for med den ville du kunne se dine fejl i {...} Det hedder hverken Jave eller Java, som du nok mener, men JavaScript. Og du har måske ikke bemærket min bemærkning om anvendelse af din count.
Tror du jeg gider sidde her og spilde min tid på dig?
Jeg syntes ikek at du spiller tiden... jeg føler bare ikek at javascript falder mig lige så let som php gjorde da jeg startede med at lære det... men jeg komemr jo sikkert efter javascript også, når jeg får taget hul på at lære det....
Hvorfor har du de semikoloner i dine if-er? Din indrykningen burde have vist en logisk fejl omkring din for-sætning, som intet har at gøre med JavaScript. Du kan ikke sige break, der hvor du gør.
Hør, hvorfor bruger du ikke NetScape, der giver dig fornuftige fejlbeskedder omkring JavaScript?
Du er velkommen til at afvise mit svar - så skal jeg nok blande mig udenom.
Ovenstående virker nu. jeg får først allert hvis jeg overskriver de 2 som er sat i maxCount......
Men hvis jeg tilføjer if (f.kundegr.value=="1";) { maxCountt=1; } if (f.kundegr.value=="2";) { maxCountt=2; } if (f.kundegr.value=="3";) { maxCount=3; } if (f.kundegr.value=="4";) { maxCount=99; } lige EFTER var count=0;
Så melder den fejl... ligesom jeg helelr ikek kan få den til at fjerne den sidste afkrydsning hvis alert aktiveres ??
den med ; til sidst i if sætningerne, havede jeg ikke opdaget...... *hmm*
Så nu får jeg blot besked om at maxCount ikke er defineret... så der mangler sikkert stadig lidt i de første if sætninger... men lige hvad, ved jeg ikke endnu...
indrykningen blev væk da jeg kopierede de stumper som virkede over i et nyt dok... beklager :-(
her er det med indrykning igen : <HTML> <HEAD> <TITLE>Checkboxe</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function check(f) { var count=0; if (f.kundegr.value=="1") { maxCount=1; } if (f.kundegr.value=="2") { maxCount=2; } if (f.kundegr.value=="3") { maxCount=3; } if (f.kundegr.value=="4") { maxCount=99; }
nutte du får 1/2 delen af pointene for at lede mig på rette vej.... men ikke fik dit oplæg til at fungere..... fandt løsningen her http://www.eksperten.dk/spm/182340
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.