【发布时间】:2014-12-02 09:34:18
【问题描述】:
我的 HTML 表单包含一系列五个相关的<input type="text" /> 标记,所有标记都需要是一位数或两位数。我创建了一个 JavaScript 函数,它将使用 if-else 语句针对正则表达式测试用户输入。当输入有效时,该功能按要求工作;但是,如果输入无效,我希望将焦点保留在输入字段上,但到目前为止我还无法做到这一点。
我尝试过使用document.getElementById(currseg).focus(); -- 其中currseg 被动态设置为有问题的输入字段的ID。我还尝试使用 switch 语句和单独的 case 来处理每个可能的错误输入字段,并且直接指定违规字段的 ID,而不是作为变量计算。
验证测试由每个输入字段的onblur 事件(我也尝试过使用onchange 事件)提示。我在else 条件中有一个alert("Bad user input"),所以我知道当输入无效时该函数正确地流向else 条件,但焦点移动到下一个输入字段。
无论我是通过鼠标操作还是 Tab 键从输入字段移动,我尝试过的所有操作都无法阻止焦点的进程。
有什么建议可以让我将注意力集中在输入无效的字段上?
【问题讨论】:
-
请发布您的代码!
标签: javascript html forms validation