Avatar billede soreno Praktikant
19. februar 2005 - 10:57 Der er 6 kommentarer og
1 løsning

Reference til variabel

Følgende kode har nogle mangler (se "???"):
<html>
    <head>
        <title>home</title>
        <script type="text/javascript">
            <!--
            function submit_query() {
                if(document.???.checked)
                {
                    str = "http://google.com/search?hl=da&q="+
                        document.q.value +
                        "&btnG=Google-s%C3%B8gning&meta=lr%3Dlang_da";
                    alert(str);
                }
                else if(document.???.checked)
                {
                    str = "http://google.com/search?hl=da&q=site:en.wikipedia.org+"+
                        document.q.value +
                          "&btnG=Google-s%C3%B8gning&meta=lr%3Dlang_da";
                    alert(str);
                }
                else if(document.???.checked)
                {
                    str = "http://us.imdb.com/find?q=" +
                        document.q.value +
                          ";tt=on;nm=on;mx=20";
                    alert(str);
                }
                else
                {
                    alert("error !");
                }
                //load site from str
            }
            //-->
        </script>
    </head>
    <body>
        <h1>search</h1>
        <div>
        <table>
            <tbody>
                <tr><td class="links"> 
                    <p>
                        <input type="text" size="55" name="q" />
                        <button type="button" onClick="submit_query();">search</button>
                    </p>
                    <p>
                        <input value="g" name="choice" checked="checked" type="radio">google.dk</input>
                        <input value="w" name="choice" type="radio">en.wikipedia.com</input>
                        <input value="i" name="choice" type="radio">us.imdb.com</input>
                    </p>
                </td></tr>
            </tbody>
        </table>
        </div>           
    </body>
</html>

Ideen er at brugeren redirectes til et site på baggrund af valg af radio button. Jeg er dog ikke klar over hvordan jeg får en reference til de relevante variabler (se "???").

Som en sidenote kan det nævnes at brug af form elementet ikke har interesse.
Avatar billede soreno Praktikant
19. februar 2005 - 11:22 #1
Det var getelementbyid jeg skulle bruge.
Avatar billede roenving Novice
19. februar 2005 - 13:51 #2
Hvorfor har du det ikke i en form, for så har du direkte referencer via form-elementet !-)
Avatar billede soreno Praktikant
19. februar 2005 - 21:35 #3
Fordi jeg ikke kunne få action eventet til at makke ret med forskellige URL angivelser, min ide virker mere vedligeholdelsesvenligt. Det skal lige siges at det er en del af en større sammenhæng.
Avatar billede olebole Juniormester
19. februar 2005 - 23:10 #4
<ole>

En forms action kan nu meget let ændres dynamisk  :)

En anden ting er så, at det nok er meget godt, langsomt at overgå til at bruge 'de nye' DOM-bindings (som 'document.getElementById'), da vi alligevel kommer til det, når man engang kan bruge XHTML til noget fornuftigt.

Angående XHTML, så er dette ikke valid kode:
  <input value="g" name="choice" checked="checked" type="radio">google.dk</input>
- du må ikke selv opfinde lukketags - og et input-element har intet lukketag. Sådan skal den se ud:
  <input value="g" name="choice" checked="checked" type="radio" />google.dk

Desuden bør du nok læse:
  http://www.eksperten.dk/artikler/537
  http://www.eksperten.dk/artikler/538
- hvis du ikke allerede har været der  :)

/mvh
</bole>
Avatar billede soreno Praktikant
20. februar 2005 - 12:22 #5
Min human-syntax parser har lidt problemer med denne sætning:
"En anden ting er så, at det nok er meget godt, langsomt at overgå til at bruge 'de nye' DOM-bindings (som 'document.getElementById'), da vi alligevel kommer til det, når man engang kan bruge XHTML til noget fornuftigt."

Siger du at getElementById er bedre end at ændre en forms action ?
Avatar billede roenving Novice
20. februar 2005 - 12:26 #6
-- nej, jeg tror ole refererer til mit udsagn om at bruge form.feltnavn, som ikke har det så godt med xhtml, da name der ikke er tilladt som attribut på et tag !-)
Avatar billede olebole Juniormester
20. februar 2005 - 20:01 #7
Som roenving skriver, så ændres en hel del, når XHTML bliver en realitet. Dels bortfalder name-attributterne, dels mister document-objektet en hel del af sin 'sær-status' ... ting som 'document.forms' og 'document.images' kan f.eks. ikke bruges under XHTML.
Sålænge man skriver HTML - og så længe, XHTML ikke kan bruges på WWW - sker der ikke noget ved at kalde med 'document.FORM_NAVN.FELT_NAVN' eller bruge 'this.form' til at referere til formen. Det bliver først et problem den dag, XHTML bliver tolket som XHTML - og det vil kun en brøkdel af det, folk idag skriver i den tro, de skriver XHTML  :)

Vil du være god ved dine brugere, bør du i stedet skrive HTML4.01-Strict, da sådan en kode er langt bedre for brugeren og hans browser.
Det eneste, man idag kan bruge XHTML til, er at prale overfor folk, der ikke ved noget om WWW. Hos alle andre udløser det kun overbærende smil  ;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
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