根据我的经验,input type="text" onchange事件通常只在你离开(blur)控件之后才会发生.
有没有办法强制浏览器onchange每次textfield内容更改时触发?如果没有,那么"手动"追踪这个最优雅的方式是什么?
使用onkey*事件是不可靠的,因为您可以右键单击该字段并选择"粘贴",这将更改该字段而不需要任何键盘输入.
是setTimeout唯一的方法吗?丑陋的:-)
这是让我疯狂的事情:
我有这个代码,它的工作原理:我在尝试学习JavaScript之前沉迷于JQuery.我的示例项目涉及获取文本框的值,并根据其长度进行验证.表格的名称是会员资格.
示例:这有效:
function validateForm()
{
var element = document.membership;
if(element.txtName.value == "")
{
element.txtName.className = "alert";
}
else
{
element.txtName.className = "";
}
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
function validateForm()
{
var element = document.membership;
var nameLenght = element.txtName.value.lenght;
if(nameLenght < 1)
{
element.txtName.className = "alert";
}
else
{
element.txtName.className = "";
}
}
Run Code Online (Sandbox Code Playgroud)
仅供参考:我是JavaScript的新手,但对语法非常熟悉.我只想学习基础知识并向上移动.
我甚至在这里阅读了一些解决方案,但我觉得我只是在沉沦.
谢谢你的帮助.