Avatar billede horizon Nybegynder
02. juni 2007 - 21:59 Der er 12 kommentarer og
1 løsning

En funktion der ikke kan li' at flyttes rundt med

Jeg sidder og leger med lidt javascript og har kløet mig godt og grundigt i bolden over hvorfor jeg ikke kan flytte funktionen

function vBrugernavn(){

    var varBrugernavn = document.getElementById('Brugernavn').value;

    if(varBrugernavn.length > 0){

//lidt mere avanceret validering senere evt.??

        document.getElementById('VresBrugernavn').src = "Billeder/Ikoner/Godkendt.jpg";
        return true;
   
    }else{
        document.getElementById('VresBrugernavn').src = "Billeder/Ikoner/IkkeGodkendt.jpg";
        return false;

    }
}

fra selve filen den skal udføres fra til en .js fil i en anden mappe. den brokker sig over "et objekt var ventet"

her er selve testsiden.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <meta name="generator" content="Adobe GoLive" />
        <title>Untitled Page</title>
        <script type="text/javascript" src="Diverse/Validering.js"></script>
    </head>

    <body>
        <p><input type="text" id="Brugernavn" size="24" onkeyup="java script: vBrugernavn();"><img src="Billeder/Ikoner/IkkeGodkendt.jpg" id="VresBrugernavn"></p>
       
    </body>

</html>

hvis jeg laver en <script> i selve html siden så virker det fint nok, men gør jeg som jeg har gjort her, så dør den bare. hvad er det der går galt?
Avatar billede thesurfer Nybegynder
02. juni 2007 - 22:12 #1
Der er vist en del ting der er forkert i din kode..

Der skal f.eks. ikke stå "java script: " i din onkeyup, da "onkeyup"-eventen er en JavaScript event i sig selv..

Så bruger du doctypen til XHTML, som ikke understøttes ordentligt endnu.. og en anden ting der fejlen i XHTML er, at du bruger ".src = .."

Så vidt jeg ved, skal det være noget i stil med:

.setAttribute("src", "Billeder/Ikoner/IkkeGodkendt.jpg");

Jeg er ikke en erfaren bruger i XHTML-afdelingen, men jeg er sikker på at roenving, olebole og ericjacobsen kan komme med gode råd..


I stedet for XHTML bør du nok bruge HTML 4.01 Strict..
Avatar billede horizon Nybegynder
02. juni 2007 - 22:21 #2
Men det forklarer da ikke hvorfor funktionen fucker op når den flyttes?
Avatar billede thesurfer Nybegynder
02. juni 2007 - 22:35 #3
Hvis du har mulighed for at lægge filerne online, skal jeg gerne kigge på dem...

For at være sikker på at du får fat i objektet, kan du bruge følgende:

onkeyup="vBrugernavn(this);"

i kombination med:

function vBrugernavn(felt){

    var varBrugernavn = felt.value;


Evt:



onkeyup="vBrugernavn(this, document.getElementById('VresBrugernavn'));"

i kombination med:

function vBrugernavn(felt, billede){

    var varBrugernavn = felt.value;
...


    if(varBrugernavn.length > 0){

//lidt mere avanceret validering senere evt.??

        billede.src = "Billeder/Ikoner/Godkendt.jpg";
        return true;
osv..


Jeg mener stadig at det er .setAttribute("src", "Billeder/Ikoner/IkkeGodkendt.jpg"); ..

Men det må de kloge fortælle dig om.. :-)
Avatar billede thesurfer Nybegynder
02. juni 2007 - 22:36 #4
"..." betyder "noget kode her, hvis du har noget" :-)
Avatar billede roenving Novice
03. juni 2007 - 00:17 #5
Prøv det der med at vise det live !-)

-- ellers burde thesurfers andet eksempel være skudsikkert ...

-- og der er ikke forskel på store/små bogstaver i f.eks. fil- eller variabel-navne ?-)
Avatar billede horizon Nybegynder
04. juni 2007 - 00:08 #6
Avatar billede horizon Nybegynder
04. juni 2007 - 00:11 #7
og bare lige for sjov... testsiden hvor scriptet er skrevet i filen og virker efter hensigten

www.netblogs.dk/testside1.php
Avatar billede roenving Novice
04. juni 2007 - 00:36 #8
Tjah, det ser ud til, at du i din editor har fået gemt js-filen med et forkert tegnsæt ...
Avatar billede horizon Nybegynder
04. juni 2007 - 00:56 #9
Hmm... har prøvet at lave en ny .js fil i notepad og skrevet filen om, men samme fejl
Avatar billede roenving Novice
04. juni 2007 - 01:28 #10
-- når jeg henter filen indledes den med:

//Læst registreringsaftalen?

-- hvilket f.eks. kunne være en byte-kode til unicode eller noget andet (jeg aner det ikke !-)

Men i hvert fald er æ en twobyte unicode (for æ ?-), der læses som enkeltbyte iso-8859-1, hvilket filen også er mærket som, når jeg kigger på fil-oplysninger ...
Avatar billede horizon Nybegynder
04. juni 2007 - 01:32 #11
Hmm! Med det samme jeg smed input boksen i en <form> virkede det...

Nå, men smid begge et svar så kan I dele som tak for hjælpen :-)
Avatar billede thesurfer Nybegynder
04. juni 2007 - 06:47 #12
Her er et svar fra mig.. :-)
Avatar billede roenving Novice
04. juni 2007 - 14:43 #13
Nej tak, ellers tak !-)
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