Avatar billede mccannon Nybegynder
28. oktober 2003 - 17:48 Der er 15 kommentarer og
1 løsning

Radiobuttons og javascript

Hejsa

jeg skal have lavet sådan at hvis en bestemt radio er valgt skla der vises noget bestemt i formen eller hvis en af de 2 andre radio buttons er valgt skal der vises noget andet.
oki, jeg bruger asp med vcbscript og ville vide om nedende stående kan lade sig gøre, og hvis det ikke kan, hvordan så ?

<script type="text/javascript">
            if (document.form1.varetypen.value == "V")
            {
            <% response.write noget %>
            }else
            {
            <% response.write noget andet%>
            }
          </script>
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 17:51 #1
du kan ikke lave asp kode der er afhængig af javascript..

bruge document.write (som er javascript) i stedet for response.write (som er asp).

eksempel: document.write("hello world")
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 17:53 #2
..en forklaring..
asp udføres på serveren FØR javascript og vbscript der udføres på klientsiden (browseren)..
derfor kan du ikke bruge asp kode EFTER at siden er sendt til browseren..
hvis du vil bruge asp kode, skal siden forbi serveren igen.. dvs load eller reload en side.
Avatar billede mccannon Nybegynder
28. oktober 2003 - 17:53 #3
hmm underligt, forlige nu skriver den slet ikke noget ud lige meget hvad
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 18:03 #4
underligt.. jeg kan heller ikke få den til det..
Avatar billede mccannon Nybegynder
28. oktober 2003 - 18:08 #5
så måske kan man, hvis man kender tricket ?
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 18:11 #6
jeg prøver lige noget..
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 18:15 #7
Det er fordi at radio knapper er en slags array.. man skal så bruge dens værdi-nummer-ting.. scriptet herunder løber alle radio knapperne igennem..

Script er hentet fra http://www.experts-exchange.com/Web/Web_Languages/JavaScript/Q_20723120.html og rettet til denne form:

<form name="form1">
<input type="radio" name="varetypen" value="V">
<input type="radio" name="varetypen" value="noget andet">
<input type="button" onClick="checkradio()" value="Check Radio">
</form>

<script type="text/javascript">
function checkradio()
{
      var frm = document.forms[0];
      for (i=0;i<frm.varetypen.length;i++)
      {
        if (frm.varetypen[i].checked)
        {
            if (frm.varetypen[i].value == "V") {
            // den er V
            alert("yep.. den er V");
            } else {
            alert("nope.. den er ikke V");
            }
        }
      }
}
</script>
Avatar billede mccannon Nybegynder
28. oktober 2003 - 18:34 #8
tjah det virker sådan set..bare man ikke skal have udført noget asp kode i betingelsen, så jeg blev nød til at validere mig ud af problemet.

anyway, du gjore en indsats, så lig lige et svar så du kan få dine points
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 18:37 #9
Her er et svar.

Som jeg skrev i mine første indlæg, så kan du IKKE udføre asp kode i javascript koden.. asp koden bliver udført FØR siden sendes til browseren, som så udfører javascript.. dvs:

1) asp kode udføres på serveren
2) siden sendes fra serveren og over til browseren
3) browseren udfører javascript kode

Det sker i den rækkefølge, og kan ikke lade sige gøre den anden vej.
Avatar billede mccannon Nybegynder
28. oktober 2003 - 18:39 #10
lidt noget øv !, man kunne lave mange smarte ting hvis man kunne :)
Men nu er jeg jo ikke JS pro, så jeg skulle lige finde ud af om man kunne, og så har jeg da også lært lidt idag ;-D

jeg siger tak for indsatsen
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 18:41 #11
Det var så lidt.
Held og lykke.
Avatar billede roenving Novice
28. oktober 2003 - 21:32 #12
Men man kan jo så:


          <script type="text/javascript">
            if (document.form1.varetypen[0].checked)
            {
              document.getElementById('minDiv').innerHTML = <% response.write noget %>;
            }else
            {
              document.getElementById('minDiv').innerHTML = <% response.write noget andet%>
            }
          </script>
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 23:49 #13
roenving> du kommer altid bagefter med et eller andet guldkorn :)

By the way.. jeg har først lige fattet hvad det er du prøver på med det der asp kode i javascript.. efter at have kigget på roenvings eksempel :)
Avatar billede roenving Novice
28. oktober 2003 - 23:53 #14
;O)
Avatar billede thesurfer Nybegynder
05. november 2003 - 17:44 #15
men hey..
det burde vel være:

...innerHTML = '<% response.write noget %>';
og
...innerHTML = '<% response.write noget andet%>';

altså med '' eller ""..
med mindre "noget" og "noget andet" er navne på en variabler :)
Avatar billede roenving Novice
05. november 2003 - 17:53 #16
Jeps, det har du ret i !-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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