Avatar billede sofuzz Nybegynder
26. juni 2004 - 02:08 Der er 17 kommentarer og
1 løsning

Radiobuttons og AS. If "radio3" then, if not, then

Er nybegynder indenfor Actions Script og har kæmpet med nedenstående AS. Nu fungerer det fint og sender de indtastede data over i min access database via asp.

Men!

Udover de seks inputText felter har jeg tre stk. radiobuttons. Jeg vil gerne have det således, at de indtastede data i inputText KUN bliver smidt over i access såfremt radiobutton nr. 3 er valgt (radio3). Dvs. at hvis radiobutton 1 eller 2 er valgt (eller ingen er valgt), så bliver data’ene ikke smidt over. Skal der ikke bare tilføjes noget ala ”if radiobutton 3 true: then (mit script) and go to frame X and stop, if else: go to frame X and stop…” ?

Nogen der har et bud på de linjer der skal tilføjes mit AS? Jeg kan ikke hitte ud af det...  :-/


    medlemsData = new LoadVars()
    medlemsData.tilmelding = tilmelding
    submit.onRelease = function(){
      if(Fornavn.text!="" && Efternavn.text!="" && Tlf.text!="" &&Adresse.text!="" && By.text!="" && Mail.text!="")
      {
        medlemsData.Fornavn = Fornavn.text
        medlemsData.Efternavn = Efternavn.text
        medlemsData.Tlf = Tlf.text
        medlemsData.Adresse = Adresse.text
        medlemsData.By = By.text
        medlemsData.Teldupostur = Teldupostur.text
        medlemsData.send("insert.asp", medlemsData, "POST")
      }
    }
stop ();
Avatar billede kragekjaer Praktikant
26. juni 2004 - 02:27 #1
if(myRadioButton.getEnabled()){
  gør noget;
}else{
  gør noget andet
}
Avatar billede sofuzz Nybegynder
26. juni 2004 - 02:58 #2
Har forsøgt dette (se nedenfor), men efter et tryk på knappen (dvs. submit.onRelease funktionen), så kommer man til frame 3 uanset om radio3 er valgt eller ej...

stop ();
    medlemsData = new LoadVars()
    medlemsData.tilmelding = tilmelding
    submit.onRelease = function(){
        if(radio3.getEnabled(RadioButton=true)){
  if(Fornavn.text!="" && Efternavn.text!="" && Tlf.text!="" &&Adresse.text!="" && By.text!="" && Mail.text!="")
      {
        medlemsData.Fornavn = Fornavn.text
        medlemsData.Efternavn = Efternavn.text
        medlemsData.Tlf = Tlf.text
        medlemsData.Adresse = Adresse.text
        medlemsData.By = By.text
        medlemsData.Mail = Mail.text
        medlemsData.send("insert.asp", sparkData, "POST")
      }
gotoAndStop(3)
}else{
gotoAndStop(2);
}   
    }
Avatar billede sofuzz Nybegynder
27. juni 2004 - 17:04 #3
Hmmmm... Altså det er først når der bliver trykket på submit knappen at der skal laves et tjek af hvorvidt radiobutton 1, 2 eller 3 er valgt. Hvis radio3 er valgt så skal de indtastede data sendes til access. Hvis ikke radio3 er valgt, så skal data'ene ikke sendes. Hvordan gør man det? Jeg kan ikke få det til at virke med
         
          if(myRadioButton.getEnabled()){
          gør noget;
          }else{
          gør noget andet
          }

Jeg har en fornemmelse af at det - i forhold til mit script (se indlæg øverst) - ikke er denne løsning jeg skal anvende, men nærmere en løsning hvor radio-haljøsaet er indeholdt i submit funktionen.
Avatar billede sofuzz Nybegynder
28. juni 2004 - 01:07 #4
Efter min naive logik burde følgende virke (se nedenfor). Men det gør det ikke. Jeg ender stadig på frame 3 hver gang selvom radio3 er valgt. Er der virkelig ingen der ved hvordan det kan fikses eller hvad der er galt med scriptet?

stop();
medlemsData = new LoadVars();
medlemsData.kapping = kapping;
submit.onRelease = function()
    {if (Fornavn.text != "" && Efternavn.text != "" && Tlf    .text != "" && Adresse.text != "" && By.text != "" && Mail.text != "" && radio3.getEnabled())
      {medlemsData.Fornavn = Fornavn.text;
            medlemsData.Efternavn = Efternavn.text;
            medlemsData.Tlf = Tlf.text;
        medlemsData.Adresse = Adresse.text;
        medlemsData.By = By.text;
            medlemsData.Mail = Mail.text;
        medlemsData.send("insert.asp", medlemsData, "POST");
        gotoAndStop(2);
                  }

            else {
        gotoAndStop(3);
        }
    }
Avatar billede _k Nybegynder
28. juni 2004 - 15:33 #5
Hvis du i stedet for "getEnabled()" bruger "enabled", vil den returnere false hvis den er valgt, og true hvis den KAN vælges (men ikke er valgt lige nu):

.... && radio3.enabled == false)

Din getEnables() returnerer altid true, hvorfor det går galt.
Avatar billede sofuzz Nybegynder
29. juni 2004 - 09:59 #6
Hvis jeg indsætter ...&& radio3.enabled==false), så sker det samme (dvs. den går stadig til frame 3 HVER gang uanset om radioknappen er valgt eller ej), men hvis jeg indsætter ... && radio3.enabled==true) ja, så sker der noget... men nu går den tilgengæld til frame 2 HVER gang... (dvs. igen uanset om man har valgt radio3 eller ej). Meget meget mærkeligt!

De tre radiobuttons er som udgangspunkt valgt til at være false (dvs. uden et dot inde i). Bør jeg have noget script på selve radio3 knappen som siger at hvis den er valgt så er den true og hvis ikke så er den false...? Kan man det? Eller er det måske heller ikke nogen løsning? Gruble gruble...
Avatar billede _k Nybegynder
29. juni 2004 - 10:17 #7
Når du siger "radio3", hvor har du så det navn fra? Hvor står det?

Hvilke komponenter er det? MX 2004's default?
Avatar billede sofuzz Nybegynder
29. juni 2004 - 10:45 #8
radio3 er det instance name som jeg har givet til den tredje af 3 stk radiobuttons som er instance of Radiobutton (med groupname radioGroup). De to andre radiobuttons har jeg givet navnet radio1 og radio2
Avatar billede sofuzz Nybegynder
29. juni 2004 - 10:47 #9
Og ja - det er MX 2004 default komponenter... noget lort?
Avatar billede _k Nybegynder
29. juni 2004 - 11:43 #10
MX 2004 komponenter er vist egentlig ok ;o)

Min løsning var bare baseret på MX's radio-knapper, som jeg af en eller anden grund stadigvæk bruger....

Erstat enabled med selected, så skulle den gerne returnere om knappen er valgt eller ej: ...&& radio3.enabled==true
Avatar billede _k Nybegynder
29. juni 2004 - 11:44 #11
..og det skulle selvfølgelig være:

...&& radio3.selected==true

....hurtigere end sin egen skygge. ....... eller langsommere end sin egen mus?
Avatar billede sofuzz Nybegynder
29. juni 2004 - 12:10 #12
Ok. Det viker! Dvs. at nu sender den KUN data'ene over i access såfremt radio3 er valgt. Er den ikke valgt - eller er radio1 eller radio2 valgt, ja så sender den ingen data. Og det er kanon!! Det var jo egentlig det jeg ville have den til.

Et mindre problem er så at den stadig ender på frame 2 unset om radio3 er valgt eller ej... og det synes jeg er lidt mærkeligt. Hvis - og kun hvis - du let kan gennemskue hvorfor, så må du gerne fortælle det. Du får uanset hvad de 30 points ;-)
Avatar billede sofuzz Nybegynder
29. juni 2004 - 12:25 #13
Det virker det virker!!! Også det sidste - dvs. den hopper til frame 3 såfremt radio2 eller radio3 er valgt. YEHAAAAAA!!!
Avatar billede _k Nybegynder
29. juni 2004 - 12:27 #14
Du kan bruge en else if. Hvis du ønsker at havne på frame 2 hvis radio 3 er valgt, men der ikke er skrevet noget i tekstfelterne:

if (Fornavn.text != "" && Efternavn.text != "" && Tlf    .text != "" && Adresse.text != "" && By.text != "" && Mail.text != "" && radio3.getEnabled())
      {medlemsData.Fornavn = Fornavn.text;
            medlemsData.Efternavn = Efternavn.text;
            medlemsData.Tlf = Tlf.text;
        medlemsData.Adresse = Adresse.text;
        medlemsData.By = By.text;
            medlemsData.Mail = Mail.text;
        medlemsData.send("insert.asp", medlemsData, "POST");
        gotoAndStop(2);
                  }

            else if(radio3.selected == true) {
              gotoAndStop(3);
            }
            else {
              // Hvis radio3 heller ikke er valgt, skal der måske komme en fejlmeddelelse?
        }
}

...det var kragekjaer du gav pointene.
Avatar billede sofuzz Nybegynder
29. juni 2004 - 12:33 #15
Ups... det var en fejl...! Kan jeg ikke bare smide et nyt indlæg og skr. at det er points til _k...? Og så smider du et svar og så er det fikset?  :-)
Avatar billede kragekjaer Praktikant
29. juni 2004 - 12:33 #16
mange tak he
Avatar billede sofuzz Nybegynder
29. juni 2004 - 12:57 #17
Så er der points til dig _k. Svar under "Point til _k".

Så skulle der vistnok være rettet op på det :-)
Avatar billede _k Nybegynder
29. juni 2004 - 13:09 #18
Supersejt. Håber du får styr på if else, ellers spørg bare løs :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester