开发者

js not working on IE , but working of ff and gc

i have this line of code :

document.getElementById(object).innerHTML=data;

where object is equal to 'index' (which is an id for a div in the html) and data is some text ... no errors on firefox or chrome , but internet explorer gives me "Unknown runtime error" !!! i'll become bald soon ...

Data Sample : (for some reason , if i remove the <table> everything goes just fine ...)

<table style="width:100%;">
                <tr class="tablePagnation">
            <td valign=top colspan="5">
                <input type=hidden id="pagnation" value="1">
                <label class="disabledlink">ÇáÓÇÈÞ</label>              <label class="disabledlink">ÇáÇæáì</label>              <a href="javascript:;" onclick="setPagnation('1');"class="pagnation_selected">1</a>
                <a href="javascript:;" onclick="setPagnation('2');"class="pagnation">2</a>
                <a href="javascript:;" onclick="setPagnation('3');"class="pagnation">3</a>
                <a href="javascript:;" onclick="setPagnation('4');"class="pagnation">4</a>
                <a href="javascript:;" onclick="setPagnation('5');"class="pagnation">5</a>
                                <a href="javascript:;" onclick="setPagnation('64');">ÇáÇÎíÑÉ</a>                <a href="javascript:;" onclick="setPagnation('2');">ÇáÊÇáí</a>          </td>
        </tr>
                <tr class="Heading3">
            <td valign=top style="width:40px;">
                <input type=checkbox onclick="toggleCheckboxes('msgbox',this.checked);">
                <a href="javascript:;" onclick="refresh_inbox();"><img src="images/refresh.png" title="ÊÍÏíË"></a>
          开发者_如何学JAVA  </td>
            <td valign=top>
                ãä
            </td>
            <td valign=top>
                ÇáÚäæÇä
            </td>
            <td valign=top>
                ÇáÊÇÑíÎ
            </td>
            <td valign=top>
                ÇáÚãáíÇÊ
            </td>
        </tr>
                    <tr class="GridRow UserRecordRow">
                <td valign=top>
                    <input type=checkbox id="msgbox" value="26" name="msgbox">
                                                                        <img src="images/msg_read.png">
                                                            </td>
                <td valign=top>
                                            <a href="index.php?pg=inbox&do=read&id=26">ÑÇãí</a>
                                    </td>
                <td valign=top>
                                        te45tef
                </td>
                <td valign=top>
                    10-01-2011 01:21 PM
                </td>
                <td valign=top>
                    <a href="javascript:;" onclick="delete_msg(26);">
                        <img src="images/delete.png" title="ÍÐÝ">
                    </a>
                </td>
            </tr>
                    <tr class="GridRow UserRecordRow">
                <td valign=top>
                    <input type=checkbox id="msgbox" value="25" name="msgbox">
                                                                        <img src="images/msg_unread.png">
                                                            </td>
                <td valign=top>
                                            <a href="index.php?pg=inbox&do=read&id=25">ÑÇãí</a>
                                    </td>
                <td valign=top>
                                        5tfe54tfe
                </td>
                <td valign=top>
                    10-01-2011 01:20 PM
                </td>
                <td valign=top>
                    <a href="javascript:;" onclick="delete_msg(25);">
                        <img src="images/delete.png" title="ÍÐÝ">
                    </a>
                </td>
            </tr>
            </table>


I ran into a similar issue a few weeks ago. You get an "Unknown runtime error" when you insert malformed HTML into the document. IE is not as forgiving, apparently.

Sometimes, you will also get this error if you try to insert a block-level element inside an inline element (for example, a div inside a p will cause this error). You can get around this by changing the parent element. Can you tell us into what kind of element you're trying to insert data?

Here is a blog post that talks about the error and a stackoverflow question that deals with the error in the context of manipulating tables via Javascript.

UPDATE

In this case, I guess you'll have to figure out what the offending element is by trimming the scope. Try inserting the simplest possible HTML (perhaps your table with just a single row and cell). Then progressively add more elements until you get the error. That way, you will be able to identify the element that is causing the error.


Perhaps object is a reserved keyword in IE? Try using a different variable name.


Are you confident that this is the origin of the "Unknown runtime error"? Can you isolate the code to just be this? Try replacing object with the quoted "index" string and just have that line (along with something defined for data).

Example code:

document.getElementById('index').innerHTML = 'Test';


While these are all fine, I would recommend using the JQuery library for accessing dom elements.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜