Avatar billede bongii Nybegynder
28. februar 2008 - 10:01 Der er 8 kommentarer og
1 løsning

Tilknytning af en border style til dynamiske input felter

Jeg har et javascript der opretter felter dynamisk, jeg kan ikke tilføje en border style til elementet:

var Antal = document.createElement('input');
Antal.type = 'text';
Antal.name = 'Antal' + iteration;
Antal.id = 'Antal' + iteration;
Antal.size = 3;
Antal.style.fontFamily = 'Verdana';
Antal.style.fontSize = '10px';
Antal.value = data[iteration-1] ? data[iteration-1].Antal : "";
cellLeft.appendChild(Antal);

Er der en der har en løsning?
Avatar billede w13 Novice
28. februar 2008 - 10:07 #1
Hvor prøver du at sætte border?

Antal.style.border="1px solid #000";
Avatar billede w13 Novice
28. februar 2008 - 10:35 #2
Du kan i øvrigt også gøre sådan her:

var Antal = document.createElement("input");
Antal.type = "text";
Antal.name = "Antal" + iteration;
Antal.id = "Antal" + iteration;
Antal.size = 3;
Antal.style.cssText="font-family:Verdana,sans-serif;font-size:10px;border:1px solid #000";
Antal.value = data[iteration-1] ? data[iteration-1].Antal : "";
cellLeft.appendChild(Antal);
Avatar billede bongii Nybegynder
28. februar 2008 - 10:52 #3
Klasse !
Avatar billede w13 Novice
28. februar 2008 - 10:53 #4
:)
Avatar billede roenving Novice
28. februar 2008 - 12:37 #5
Hvor understøttes cssText ?-)

-- i min reference (som kun kender frem til de aller-allerførste Mozillaer og IE5.5 !-), er det angivet at kun IE 5+ kender den, men jeg ved ikke hvornår den evt. skulle være medtaget i andre browsere !o]

-- og så bør man vel, for at gøre koden lidt mere fremadrettet, bruge setAttribute til type, name, id og size !-)
Avatar billede w13 Novice
28. februar 2008 - 13:01 #6
Jeg ved det ikke med sikkerhed, men alle moderne browsere understøtter det i hvert fald.

Og ja, setAttribute bør bruges således:

var Antal = document.createElement("input");
Antal.setAttribute("type") = "text";
Antal.setAttribute("name") = "Antal" + iteration;
Antal.setAttribute("id") = "Antal" + iteration;
Antal.setAttribute("size") = 3;
Antal.style.cssText="font-family:Verdana,sans-serif;font-size:10px;border:1px solid #000";
Antal.value = data[iteration-1] ? data[iteration-1].Antal : "";
cellLeft.appendChild(Antal);

Dog ikke ved value, da det kokser. =)
Avatar billede roenving Novice
28. februar 2008 - 13:09 #7
>>w13, har du lagt hovedet i frokoststuen ?-)

Antal.setAttribute("type", "text");

osv.
Avatar billede w13 Novice
28. februar 2008 - 13:11 #8
Ja, det har jeg vist. =/

var Antal = document.createElement("input");
Antal.setAttribute("type","text");
Antal.setAttribute("name","Antal" + iteration);
Antal.setAttribute("id","Antal" + iteration);
Antal.setAttribute("size","3");
Antal.style.cssText="font-family:Verdana,sans-serif;font-size:10px;border:1px solid #000";
Antal.value = data[iteration-1] ? data[iteration-1].Antal : "";
cellLeft.appendChild(Antal);
Avatar billede olebole Juniormester
28. februar 2008 - 14:09 #9
<ole>

- og hvis det skal fungere i IE:
    document.createElement("<input name='Antal" + iteration + "'>");

IE kan ikke håndtere name-attributter i DOM

/mvh
</bole>
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