如何用JavaScript将文本框maxlength设为变量值?设置后不生效求助
问题分析与解决
你的代码看起来没生效,主要有两个原因:
- 你定义的
txt是"hello",长度刚好是5,和input原本的maxlength="5"完全一致,所以设置后看不出变化。 - DOM标准中,input元素的最大长度属性是驼峰写法的
maxLength,虽然部分浏览器兼容小写的maxlength,但为了跨浏览器兼容性,应该遵循标准写法。
修正后的代码示例
<input name="answerTxt" type="text" class="form" id="answer" onkeypress="do_enter(event);" onkeyup="count('answer');" size="25" maxlength="5"> <script> // 换成一个长度不等于5的字符串,比如长度10的"helloworld" var txt = "helloworld" // 使用标准的驼峰属性名maxLength document.getElementById('answer').maxLength = txt.length </script>
额外说明
如果你的脚本是放在<head>标签里执行,需要确保DOM完全加载后再操作元素,可以用DOMContentLoaded事件包裹:
document.addEventListener('DOMContentLoaded', function() { var txt = "helloworld" document.getElementById('answer').maxLength = txt.length })
内容的提问来源于stack exchange,提问作者779804
相关产品推荐
相关产品推荐

