Avatar billede kuglepen Nybegynder
22. september 2006 - 17:06 Der er 3 kommentarer

appendChild() problem med IE

Jeg har et problem med denne funktion:

addText( trimUrl(getLocation()), window.opener.document.getElementById('location') );

// get elm to print string
function addText(str, addToElm) {        while(addToElm.childNodes.length>0)addToElm.removeChild(addToElm.firstChild);
    addToElm2=document.createTextNode(str);
    addToElm.appendChild(addToElm2);
}

Funktion skal tilføje en string til en <div>. Det virker fint i FF, men i IE giver den en javascriptfejl "No such interface supported".
<div>'ens id er "location" og er en del af en form. Det ser således ud:

<form name="form2" enctype="multipart/form-data" method="post" action="#">
    <table cellpadding="8" >
                        <tr>
                            <td>
                                <table style="border: 1px solid #999999; width: 525px;">
                                    <tr>
                                        <td colspan="2" class="txt_info">
                                            her skal der være noget tekst
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="txt">
                                            Valg af mappe:
                                        </td>
                                        <td style="padding-bottom: 8px;">
                                            <div style="width: 300px; height: 15px; border: 1px solid #666666;float: left; margin-right: 10px;" id="location">&nbsp;</div>
                                            <a href="#" onclick="java script: popup('?id=delm&step=1a', 'Vælg placering', '350', '500');">BROWSE</a>
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="2" align="right">
                                <input class="button" type="submit" id="submit" value="Slet" />
                                <a href="java script: self.close();">cancel</a>
                            </td>
                        </tr>
                    </table>
                </form>



help please.
Avatar billede donpedrodelavega Nybegynder
24. september 2006 - 12:25 #1
Husk at saette 'name' paa DIV'en ogsaa. Virker dette ikke saa proev at brug et andet navn end 'location'. Dette er et reserveret ord i JS da den som default refererer til attributten paa WINDOW af samme navn.

/ DP
Avatar billede kuglepen Nybegynder
24. september 2006 - 14:51 #2
har prøvet begge dele. Koden ser nu sådan her ud:


<form name="form2" enctype="multipart/form-data" method="post" action="#">
                <input type="hidden" name ="step" value="2" />
                <input name="locationUrl" type="hidden" />
                <input name="loc" type="hidden" />
                <table cellpadding="8" >
                    <tr>
                        <td>
                            <table style="border: 1px solid #999999; width: 525px;">
                                <tr>
                                    <td colspan="2" class="txt_info">
                                        her skal der være noget tekst
                                    </td>
                                </tr>
                                <tr>
                                    <td class="txt">
                                        Placering af mappe:
                                    </td>
                                    <td style="padding-bottom: 8px;">
                                        <div name="locd" style="width: 300px; height: 15px; border: 1px solid #666666;float: left; margin-right: 10px;" id="locd"></div>
                                        <a href="#" onclick="java script: popup('wzrd.php?id=newm&step=1a', 'location', '350', '500');">BROWSE</a>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <table style="border: 1px solid #999999; width: 525px;">
                                <tr>
                                    <td colspan="2" class="txt_info">
                                        her skal der være noget tekst
                                    </td>
                                </tr>
                                <tr>
                                    <td class="txt">
                                        Mappens navn:
                                    </td>
                                    <td style="padding-bottom: 8px;">
                                        <input class="field" name="filename" type="text" id="filename" />
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" align="right">
                            <input class="button" type="submit" id="submit" value="OK" />
                            <a href="java script: self.close();">cancel</a>
                        </td>
                    </tr>
                </table>
Avatar billede kuglepen Nybegynder
25. september 2006 - 09:03 #3
med andre ord det virker ikke. Det virker i FF, men ikke i IE.

Jeg har givet min div et name og ændret 'location' til henholdsvis loc(input type hidden) og locd (div)

Gør jeg det rigtigt i ovenstående kode - som du sagde DP?


HJÆLP :)
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