javascript - 输入:invalid in html using javascript时清空输入框

标签 javascript jquery html css textbox

我的目标是仅在输入无效时清除输入类型文本框。 假设我有一个最大值为 200 的文本框

<input id="textbox" type = "text" max="200" runat="server">

假设我输入了 150,所以它是有效的,因此如果我再次关注它,它将保持其值 150 但是,如果我输入大于 200,我的文本框将有一个红色的边框颜色并集中在另一个文本框(它在我当前的代码上工作),如果我再次关注它,我想清除它的值。

我想做这样的事情。

 input:invalid {
        box-shadow: 0 0 1px 3px #e74c3c;
    }

    input:focus:invalid {
        textbox.value = "" (i know this will not work,
                            but i wanna do something like this but how?)
    }

请注意,我有多个具有不同最大值和最小值的文本框,而不仅仅是一个。

最佳答案

您可以使用 ValidityState界面,使您能够检查每个输入字段的状态。首先你需要监听 onfocus 事件。例如:

var form = document.querySelector('form'),
    elements = form.querySelectorAll('input'), 
    i;

for (i = 0; i < elements.length; i++) {
    elements[i].addEventListener('focus', function() {
        if (!this.validity.valid) {
            this.value = '';
        }
    }, false);
}

演示:http://jsfiddle.net/yrovm6uh/

关于javascript - 输入:invalid in html using javascript时清空输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26479420/

相关文章:

javascript - 使用 jQueryUI Accordion 并在它更改为在新的 "pane"内执行时触发事件

javascript - 在 Redux 存储中存储不可序列化的数据项的实际风险是什么?

jQuery Lightbox Prev/Next 按钮不显示在 iPad/iPod 上

c# - 尝试查找 TextBox 中包含的值时出现奇怪的 ASP.NET 问题

javascript - 超大幻灯片从列表而不是 javascript 加载图像

javascript - 如何从 JSON 响应中解码客户端的 Base64 文件?

javascript - 如何在 div 顶部制作水平滚动条 通过 ajax 加载内容后工作

javascript - 动态将其值设置为 true 后,复选框未显示为选中状态

javascript - 响应式菜单 - 移动滚动消失

Javascript 获取和更改元素标题