Hej.
Jeg har lidt af et problem.
Jeg har nogle editorer, som skal kommunikere med serveren via AJAX.
I nogle tilfælde, vil jeg bytte felter ud - <input> med <textarea>
f.eks. - afhængigt af hvad brugeren vælger.
FF (FireBug) siger Node not found" code: "8
IE giver Ugyldigt argument.
En del forkortet, ser koden sådan ud :
var p_elm = document.getElementById( 'edt_'+id);
if ( p_elm) {
var c_elm = document.getElementById( 'e_data_'+id);
// c_elm er det eksisterende element der skal byttes
if ( c_elm) {
// sætter eksisterende text fra c_elm i variablen c_txt
if ( c_elm.tagName != 'INPUT') {
c_elm.setAttribute( 'id', 'x');
var e_elm = document.createElement( 'INPUT');
alert( 'p:'+p_elm.nodeType+' - c:'+c_elm.nodeType+' -
e:'+e_elm.nodeType);
e_elm.setAttribute( 'class', 'data_line');
e_elm.setAttribute( 'id', 'e_data_'+id);
e_elm.setAttribute( 'name', 'e_data');
e_elm.setAttribute( 'value', c_txt);
p_elm.replaceChild( e_elm, c_elm);
}
}}
Fejlen er forkommer i linie 25 i ovenstående.
Jeg har prøvet med
p_elm.insertBefore( e_elm, c_elm);
p_elm.removeChild( c_elm);
og det giver præcis samme fejl - bpde FF og IE.
Er form-elementer ikke Nodes i DOM?
Jeg har det samme andetsteds, hvor div'er indsættes og fjernes igen, og
det virker problemløst.
Alerten - som er indsat for fejlfinding - siger
p:1 - c:1 - e:1
hvilket indkerer ELEMENT_NODE for alle tre elementer. Men det er de
åbenbart ikke når der skal arbejdes med dem?
Norgen der har en foklaring?
Eller en alternativ måde at gøre noget tilsvarende på?
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk