JavaScript 在 FF 和 IE 中不起作用

标签 javascript

作为 JS 新手,这对我来说很难找到。

我正在编写一个简单的(?)脚本,在文本区域(用于编写 SMS 消息)下显示当前 SMS 剩余的字符数以及到目前为止我已编写的 SMS 数。

我的 header 中有以下 JavaScript:

<script type='text/javascript'>
    function CheckCount(text, length) {
        var MaxLength = new Number(length);
        messages = Math.ceil(((text.value) ? text.value.length : 0) / 160);
        remaining = messages * 160 - (((text.value) ? text.value.length : 0) % (messages * 160) || messages * 160);
        if (text.value.length == 0) { messages = 1; remaining = 160; }
        document.getElementById('messages').innerText = messages + ' SMS';
        document.getElementById('remaining').innerText = remaining + ' Characters remaining';
    }
</script>

我在网站正文中放了这个:

<textarea name="sms_text" cols="35" rows="5" onKeyUp="javascript:CheckCount(this,4000);" onChange="javascript:CheckCount(this,4000);"></textarea>
<p style="margin-left:174px">
    <span id="remaining">160 Characters remaining</span> |
    <span style="clear:both" id="messages">1 SMS</span>
</p>

这在 Opera、Safari 和 Chrome 中运行良好。 Firefox 和 IE 有它们的问题。

请不要打我太多。我刚开始使用 JavaScript,经过一天繁琐的搜索后,我无法找到解决方案。 :)

最佳答案

您不需要在 textarea 处理程序属性中包含 javascript::

虽然上述是正确的,但您的问题是由使用 innerText 引起的。更改为 innerHTML 在 FireFox 中有效。

http://jsfiddle.net/ZTRFA/1/

要使其在 IE8 中工作,必须声明 messagesremaining。我还删除了多余的行 var MaxLength = new Number(length);

http://jsfiddle.net/ZTRFA/2/

function CheckCount(text, length) {
       var messages = Math.ceil(((text.value) ? text.value.length : 0) / 160);
       var remaining = messages * 160 - (((text.value) ? text.value.length : 0) % (messages * 160) || messages * 160);
       if (text.value.length == 0) { messages = 1; remaining = 160; }
       document.getElementById('messages').innerHTML = messages + ' SMS';
        document.getElementById('remaining').innerHTML = remaining + ' Characters remaining';
}

关于JavaScript 在 FF 和 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955316/

相关文章:

javascript - 在 Node 中运行浏览器javascript单元测试

javascript - 点击按钮切换div位置

javascript - 为什么有些对象文字属性被引用而有些则没有?

javascript - 将隐藏更改为自动溢出属性时避免 SCSS

javascript - 如果满足条件,则使 Kendo Grid 中的单元格只读

javascript - fabric js 从 mysql 数据库加载单个对象到 Canvas

javascript - 将 JSON 对象解析为 HTML 表

javascript - 关于javascript函数

javascript - 加载视频并同时播放

javascript - AngularJS 在工厂中创建元素