【问题标题】:validate HTML form input - prevent tab if invalid验证 HTML 表单输入 - 如果无效则阻止选项卡
【发布时间】: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


【解决方案1】:

// 没有任何代码示例尝试在检查输入的函数中使用 this - 如果无效,则聚焦该元素,然后返回以使其停在那里...(假设函数的上下文是输入当然是元素...)

this.focus(); 
return false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 2018-08-27
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多