Avatar billede clausn Nybegynder
26. maj 2004 - 07:41 Der er 6 kommentarer og
1 løsning

Dynamiske felter

Hej eksperter,

Jeg har nedenstående funktion i javascript og jeg prøver at få lavet felterne om til dynamiske felter.

"VLine"-feltet kan skifte (fx Vare1_, Vare3_, Vare_5)

Jeg har prøvet med:

document.formnavn.Vare"+VLine+"_1.value = Vare1;

Men det virker ikke helt efter planen...

Er der nogle der kan få mig til at se lyset mht. nedenstående?

function InsertVareInfo(formnavn,Vare1,Vare2,Vare3,Vare4,Vare5,VLine,VFound)
{
    if (VFound == "0") {
    alert("Der findes desværre ingen varer med dette varenummer");
    } else {
    if (VLine == "1") {
        document.formnavn.Vare1_1.value = Vare1;
        document.formnavn.Vare1_2.value = Vare2;
        document.formnavn.Vare1_3.value = Vare3;
        document.formnavn.Vare1_4.value = Vare4;
        document.formnavn.Vare1_5.value = Vare5;
    } else if (VLine == "3") {
        document.formnavn.Vare3_1.value = Vare1;
        document.formnavn.Vare3_2.value = Vare2;
        document.formnavn.Vare3_3.value = Vare3;
        document.formnavn.Vare3_4.value = Vare4;
        document.formnavn.Vare3_5.value = Vare5;
    } else if (VLine == "5") {
        document.formnavn.Vare5_1.value = Vare1;
        document.formnavn.Vare5_2.value = Vare2;
        document.formnavn.Vare5_3.value = Vare3;
        document.formnavn.Vare5_4.value = Vare4;
        document.formnavn.Vare5_5.value = Vare5;
    }
    }
}

Hilsen
Claus
Avatar billede fennec Nybegynder
26. maj 2004 - 08:09 #1
prøv at fange elementerne på denne måde:

document.all("Vare"+VLine+"_1").value = Vare1;
Avatar billede clausn Nybegynder
26. maj 2004 - 08:24 #2
fennec: Lav et svar hvis du vil have nogle points
Avatar billede clausn Nybegynder
26. maj 2004 - 08:24 #3
Det virker perfekt!
Avatar billede clausn Nybegynder
26. maj 2004 - 08:35 #4
Hvordan skal det så se ud med:

document.getElementById.all("Vare"+VLine+"_1").innerHTML = Vare1;

?
Avatar billede fennec Nybegynder
26. maj 2004 - 08:41 #5
du skal ikke have getElementById med.

det er enten:
document.all("xxxxx").innerHTML

eller
document.getElementById("xxxxx").innerHTML

Begge metoder kan bruges.
all() og getElementById() gør det samme, medmindre der er flere elementer der hedder det samme, men det har du vel ikke.....
Avatar billede clausn Nybegynder
26. maj 2004 - 08:50 #6
Jeg har en del rækker der der sådan her ud:

<tr>
<td width="14%"><input type='text' size='10' name='vareid' onblur="getVareNummer(this.value,1);" onkeydown="videre(this, event);" tabindex='1'></td>
<td width="24%"><div id="Vare1_1"></div></td>
<td width="14%"><div id="Vare1_2"></div></td>
<td width="14%"><div id="Vare1_3"></div></td>
<td width="14%"><div id="Vare1_4"></div></td>
<td width="15%"><div id="Vare1_5"></div></td>
<td width="5%"><input type='text' size='2' name='antal' onkeydown="videre(this, event);" tabindex='2'></td>
</tr>

De næste hedder så "<div id="Vare1_1">", men "vareid" og "antal" hedder det samme. Tror nok jeg laver det om så også "vareid" og "antal" også får unikke navne.
Avatar billede roenving Novice
26. maj 2004 - 14:24 #7
-- og det skal lige præciseres, at .all er M$-opfindelse, som aldrig er tiltrådt af w3c (bl.a. M$), mens getElementById er en standard, som alle browsere har med (siden 1998, hvilket betyder, at v4-browserne ikke understøtter den !-)
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