使用IE javascript处理文本框时获取未知的运行时错误

时间:2011-11-02 20:40:22

标签: javascript asp.net internet-explorer runtime-error

所以我一直在研究这个错误一段时间,我无法弄明白我的生活。关于stackoverflow有几个问题,但它们不属于我,至少我不这么认为。我对编程世界很陌生。但这是我的情况。

以下代码使用setTimeout在文本框中写入文本。

putftp.onclick = function () {

    var Text = document.getElementById("TextBox");
    function firsttext() {
        Text.innerHTML += "This is the first test.";
        setTimeout(secondtest, 3000);
    }
    function secondtest() {
        Text.innerHTML += "<br/>This is the second test.";
        //setTimeout(thirdtest, 5000);
    }
    firsttext();
};

我的主要目标是开始一个新的行(使用br),但由于某种原因,IE抛出一​​个拟合并说它是一个未知的运行时错误。请注意,代码在没有br的情况下工作正常,但我想要“这是第二次测试”。开始新的一行。我已经尝试了很多东西来解决这个问题,例如在文本框周围放置一个div,在代码中查找杂散的br,甚至摆脱文本框,只是有一个div工作。但由于某种原因,文本框和br不会一起工作。我使用IE来测试和asp.net。

有人知道答案吗?感谢您的帮助!!

更新  \ n有效,但不会在新行开始文本。  

给出相同的结果

4 个答案:

答案 0 :(得分:0)

您可能想尝试<br />注意r之后和斜杠之前的空格。

答案 1 :(得分:0)

setTimeout的第一个参数是一个字符串:

setTimeout('secondtest()', 3000);

答案 2 :(得分:0)

使用Text.value代替Text.innerHTML。尝试插入新行时,IE不喜欢innerHTML属性(并且肯定使用\n而不是<br />)。

答案 3 :(得分:0)

我想出来了,但感谢所有尝试过的人。

我最终使用\ n原始文本框并将Text.innerHTML更改为Text.innerTEXT