javascript - 使用此获取输入选择器

标签 javascript jquery-events jquery-focusout

我有一组动态生成的输入字段,因此我无法使用 ID。对于每个输入字段,我都有一个 focusout 方法,用于验证最终用户输入的值。

如果验证失败,我想清除输入的值并将焦点返回到同一输入。当我尝试使用此关键字时,范围似乎设置为窗口而不是输入控件。

输入字段截图:

Input fields screenshot

function validate(reg){
debugger;
if(isNaN(reg)==false){
    return;
}
else
{
    alert("The field should contain number");
    $(this).val(""); //clear the value
    $(this).focus();
}
}

在上面的代码中,这个关键字似乎不起作用。

最佳答案

将事件传递给您的 validate() 函数,然后您可以使用 event.target 来定位输入元素。

function validate(reg, e){
debugger;
if(isNaN(reg)==false){
    return;
}
else
{
    alert("The field should contain number");
    $(e.target).val(""); //clear the value
    $(e.target).focus();
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input onfocusout="validate(this.value, event)"/>
<input onfocusout="validate(this.value, event)"/>
<input onfocusout="validate(this.value, event)"/>

关于javascript - 使用此获取输入选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46066479/

相关文章:

javascript - 有没有一种方法可以使用多个关键事件

javascript - 使用复选框隐藏多个表单字段

c# - 焦点移出后从文本输入获取值并显示该值的数据

javascript - react : how to update states which have both mutable and immutable values

javascript - 将 json 插入数组以获取浮点图

javascript - 我放在按钮上的 EventListener 在第一次单击时不起作用

javascript - 在加载 ajax 内容时向下移动加载 div

javascript - 如何访问 focusout 事件处理程序中的事件对象

javascript - 让 focusout 事件忽略一些元素

javascript - 有没有办法限制使用 sequelize select 查询返回的小数位数?