Avatar billede apromis Praktikant
04. august 2010 - 20:33 Der er 21 kommentarer og
1 løsning

for i for kører ikke rigtigt igennem

Hej allesammen.

Har 2 for løkker i hinanden, som fejler :
<html>
<head>
    <script type="text/javascript" src="js/mktime.js"></script>
    <script type="text/javascript">
    var textstring="";
function viskontrol(){
    for (i = 1; i <= "7"; i++)
    {   
    for (y = 1; y <= "5"; y++)
    {   
    var m1 = document.getElementById("v" +i +"navn" +y).value;
                if (m1 == "ny") {
                var textstring = "v" +i +"navn" +y;
                alert (textstring); 
        }
}
}
}
</script>
</head>
<body>
TEST
<form>
<DIV ID="image11>" style="visibility:hidden;"><input type="text1" id="v1navn1" value="ny"></DIV>
<DIV ID="image31>" style="visibility:hidden;"><input type="text1" id="v1navn5" value="ny"></DIV>
<DIV ID="image35>" style="visibility:hidden;"><input type="text1" id="v3navn5" value="ny"></DIV>
<input type="input" value="tjek" onchange="viskontrol();">
</form>
</body>
</html>

Den fanger aldrig v2navn1 osv.
Den kører faktisk kun den første løkke 1 gang :(

Kan nogen se hvad der er galt ?

På forhånd tak
Avatar billede michael_stim Ekspert
04. august 2010 - 20:56 #1
2340 point ude???
Avatar billede Slettet bruger
04. august 2010 - 20:59 #2
Du skal ikke have " omkring 5 og 7

function viskontrol()
    {
    for (i = 1; i <= "7"; i++)
        for (y = 1; y <= "5"; y++)
            { 
            if (document.getElementById("v"+i+"navn"+y).value == "ny")
                {
                var textstring = "v" +i +"navn" +y;
                alert (textstring);
                }
            }
    }


Jeg går ud fra at du HAR flere <input>-felter end i ovenstående (35 faktisk) ?
- for ellers går det galt når du forsøger at nå .value
Avatar billede Slettet bruger
04. august 2010 - 21:01 #3
#1 ups det overså jeg.
- men der ER faktisk mange lukkede imellem : )
Avatar billede michael_stim Ekspert
04. august 2010 - 21:03 #4
7 og 5 er tal ;o)
Avatar billede michael_stim Ekspert
04. august 2010 - 21:04 #5
Som du skrev i starten...
Avatar billede Slettet bruger
04. august 2010 - 21:09 #6
arrh..
function viskontrol()
    {
    for (i = 1; i <= 7; i++)
        for (y = 1; y <= 5; y++)
            {
            if (document.getElementById("v"+i+"navn"+y).value == "ny")
                {
                var textstring = "v" +i +"navn" +y;
                alert (textstring);
                }
            }
    }

Og SÅ er det fyraften!
Avatar billede apromis Praktikant
04. august 2010 - 21:30 #7
Hej i begge.
Har 35 bokse :).
Men får ikke helt koden til at virke, hellere ikke den sidste.
HVad er det som jeg gør galt ?
Den når aldrig ned i 4navn1 f.eks :(
Avatar billede Slettet bruger
04. august 2010 - 21:46 #8
En stavfjel i et af id'erne ?  ("i" istedetfor "1")
- vi bliver nødt til at se det
Avatar billede apromis Praktikant
04. august 2010 - 21:49 #9
Så har jeg lukket en masse spm til ære for jer :)

Koden jeg tester er :
<html>
<head>
    <script type="text/javascript" src="js/mktime.js"></script>
    <script type="text/javascript">
function viskontrol()
    {
    for (i = 1; i <= 7; i++)
        for (y = 1; y <= 5; y++)
            {
            if (document.getElementById("v"+i+"navn"+y).value == "ny")
                {
                var textstring = "v" +i +"navn" +y;
                alert (textstring);
                }
            }
    }
</script>
</head>
<body>
TEST
<form>
<DIV ID="image11>" style="visibility:hidden;"><input type="text1" id="v4navn1" value="ny"></DIV>
<DIV ID="image31>" style="visibility:hidden;"><input type="text1" id="v1navn5" value="ny"></DIV>
<DIV ID="image35>" style="visibility:hidden;"><input type="text1" id="v3navn5" value="ny"></DIV>
<input type="input" value="tjek" onchange="viskontrol();">
</form>
</body>
</html>
Avatar billede Slettet bruger
04. august 2010 - 22:05 #10
Dér er ikke 35 <input>s
Avatar billede Slettet bruger
04. august 2010 - 22:06 #11
Til gengæld et "forbudt" tegn i DIV'ernes id: ">"
Avatar billede michael_stim Ekspert
04. august 2010 - 22:10 #12
Er der noget der hedder text1 i type?
Avatar billede apromis Praktikant
04. august 2010 - 22:21 #13
Der er ikke 35 felter i mit eksempel, men er der i den endelige version det skal ligges ind i.

Text1 bruger siden egentlig bare til at vide hvilket CSS kode den skal tage. Lidt en lappe løsning som jeg ikke har rettet endnu. Fejlen ligger desværre ikke på den.

Det forbrudte tegn kan jeg ikke se, hvor er den ? hehe :)
Avatar billede Slettet bruger
04. august 2010 - 22:21 #14
type kan udelades helt = text.. så mon ikke den ignorerer det (også)
Avatar billede Slettet bruger
04. august 2010 - 22:23 #15
<DIV ID="image11>" style="visibility:hidden;">
Avatar billede apromis Praktikant
04. august 2010 - 22:26 #16
Den er hermed rettet.
Ved vi hvorfor min løkke ikke virker ? :)
Avatar billede Slettet bruger
04. august 2010 - 22:40 #17
Fordi der ikke ER 35 felter ?
Avatar billede apromis Praktikant
04. august 2010 - 22:45 #18
Virkeligt smukt nu virker det :)
Troede ikke den var så finfølende.
Svar og pointsne er dine :)
Avatar billede Slettet bruger
04. august 2010 - 23:09 #19
Du sku' tage og bruge firefox browseren, og plugin'en firebug.
- når der opstår en fejl, fortæller den præcis hvad der er galt, og hvor.
Avatar billede apromis Praktikant
05. august 2010 - 00:21 #20
Jeg bruger faktisk firefox.
Hvordan aktivere man denne funktion ? :)
Avatar billede majbom Novice
05. august 2010 - 07:03 #21
Avatar billede apromis Praktikant
05. august 2010 - 10:50 #22
Var vist lidt træt da jeg læste din kommentar hehe
Tak for hjælpen :)
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