WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Javascript i MSIE (https://www.wn.se/forum/showthread.php?t=5510)

matlin 2005-01-14 15:55

Jag har ett script som skall ändra ett <input>-fält från "hidden" till "text" beroende på vad användaren väljer i en <select>.
Jag har fått det att fungera i Firefox men MSIE vill inte ändra på type-attributet. Nån som har en aning?

Kod:

document.getElementById("what").type = "text";      // är satt till hidden från början
document.getElementById("what").style.width = "10em"; // eftersom den ska användas oavsett
                                              // om användaren anger en egen text
document.getElementById("what").value = "";        // eller om jag ska sätta en "custom"-text via JS

Ja hittade detta på MSDN men inte kan dom va så elaka att jag inte får ändra ...
Citat:

As of Microsoft Internet Explorer 5, the type property is read/write-once, but only when an input element is created with the createElement method and before it is added to the document.

anders.n 2005-01-14 21:16

Är det inte "snyggare" att ha den som en text i vilket fall som helst, och visa/dölja en container (div) som den ligger i?

WizKid 2005-01-14 21:18

funkar det inte att använda hidden? Så input fältet är dolt först men sen visas när du sätter hidden till false?

magentos 2005-01-15 02:49

WizKid:
Citat:

... read/write-once, but only when an input element is created with the createElement method and before it is added to the document.
betyder att det inte går att ändra på type attributet - om man prompt vill använda denna lösning får man ersätta hela objektet (input-taggen).

annars är väl anders.n's lösning enkel/smart?


ett ex som jag sitter med nu:

var cellRight = row.insertCell(2);
cellRight.align="center"
cellRight.vAlign="bottom"
el = document.createElement('input');
el.setAttribute('type', 'button');
el.setAttribute('id', 'next_' +(lastRow))
el.setAttribute('name', lastRow);
el.setAttribute('value', "Next");
el.setAttribute('onClick',"nextImg(this)")
cellRight.appendChild(el);


//nu går det inte att ändra värdet längre


Alla tider är GMT +2. Klockan är nu 14:38.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson