我正在使用textarea
来获取一些输入。标签显示更新的字符。
它在IE中工作正常,但在FF 3.0中,达到最大限制后,它不允许删除或退格键。
我在textarea
的按键事件上使用了javascript函数。
javascript代码
function checkLength()
{
var opinion = document.getElementById('opinion').value;
if(opinion.length > 50)
alert("You have reached the mas limit.");
else
document.getElementById('limit').innerHTML = 50 - opinion.length;
}
在页面上,我正在使用此
<label id="limit">50 </label>
<textarea id="opTxtArea" onkeypress="javascript:checkLength();"></textarea>
一切都很好。问题出现在FF中,当输入达到最大限制时,会显示消息,但不允许删除或退格。
答案 0 :(得分:0)
你的javascript代码错误
function checkLength()
{
var opinion = document.getElementById('opTxtArea').value;
if(opinion.length > 50)
alert("You have reached the mas limit.");
else
document.getElementById('limit').innerHTML = 50 - opinion.length;
}
你选错了元素
var opinion = document.getElementById('opinion').value;
现在更改为
var opinion = document.getElementById('opTxtArea').value;
答案 1 :(得分:0)
尝试删除“javascript:”?
使用Javascript:
function checkLength()
{
var opinion = document.getElementById('opTxtArea').value;
if(opinion.length > 50)
alert("You have reached the max limit.");
else
document.getElementById('limit').innerHTML = 50 - opinion.length;
}
HTML代码:
<label id="limit">50</label>
<textarea id="opTxtArea" onkeypress="checkLength();" maxlength="50"></textarea>
此外,在document.getElementById('opinion').value
行,我认为您输入了错误的ID。
答案 2 :(得分:0)
如另一个答案所述,您应该删除javascript:
属性中的onkeypress
前缀,因为这不起作用。
这里还有其他问题。你真的想要实现什么?警报对用户来说非常烦人,因此我建议在页面上显示一个元素,表示已超出字符限制。另外,当超过字符限制时,您希望发生什么?您可以阻止进一步输入(同时不阻止删除)或执行Stack Overflow对其注释字段执行的操作,即在超出字符限制时显示负数但不阻止进一步输入。