如何在 jQuery 中为文本框提供焦点
how to give focus for text box in jquery?
当用户输入错误的值时,我想聚焦文本框,但我不知道如何在代码中添加focus()。 任何建议
<input type="text" class="form-control" id="txtfirstname" alt="spnfirstname" name="txtfirstname">
<input type="text" class="form-control" id="txtmiddlename" name="txtmiddlename" alt="spnmiddlename">
$('document').ready(function () {
$('#txtfirstname,#txtmiddlename,#txtlastname,#txtmothertongue,#txtplaceofbirth')
.bind('keyup', function () {
var theValue = $(this).val();
var spanid = $(this).attr("alt");
if (theValue != '' && theValue.match(/^['a-zA-Z]+$/) == null)
{
theValue = theValue.replace(/[^a-zA-Z, ]/g, '')
$("#" + spanid).text("alphabets only");
$('#txtfirstname').focus();
}
else
$("#" + spanid).text(" ");
});
});
theValue = theValue.replace(/[^a-zA-Z, ]/g, '')
$("#" + spanid).text("alphabets only");
$(this).val(theValue); <<== Add this
^^^^^^^^^^^^^^^^^^^^
$('#txtfirstname').focus(); //Remove this one
演示
监听 focusout 事件,检查输入是否无效,然后重新聚焦。
$('#txtfirstname').focusout(function(e) {
if(invalidInput){
$('#txtfirstname').focus();
}
});
你不必放弃冻结。诀窍是防止键入事件的发生,这样值永远不会更改,除非您批准它。
我分叉了@Sadikhasan的小提琴:分叉演示
还有一件事,alt
属性具有语义值,应该在 img
标签中,您不应该像现在这样使用它。如果您仍想"引用"另一个元素,请考虑使用 data-*
属性。
相关文章:
- 文本框焦点上的自动完成菜单
- 在文本区域的焦点上分割渐变
- 焦点输入时保持文本处于选中状态
- 无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本
- 设置焦点动态创建的文本区域
- 使用 jQuery 检查文本框焦点
- 焦点新选项卡的文本区域引导程序 3 + 角度JS
- 如何在单击按钮时获得最后一个焦点文本框输入
- 将焦点设置为角度模板/路线/表单中的文本输入
- 使用jQuery在焦点上选择文本框是't在移动浏览器中工作
- 如何使用javascript将焦点设置为文本框
- 焦点事件不适用于动态生成的文本框
- 如何在隐藏的文本框上设置焦点
- 挖空 - 在焦点文本框中加倍值
- 在数字字段中选择所有焦点文本
- 点击后获取焦点文本区域id
- 如何使用jquery在焦点文本框中按键时插入符号
- 在可编辑部件中获取焦点/文本输入
- Javascript:用于选择焦点文本框内所有文本的跨浏览器解决方案
- Jquery 通过按钮自动更改焦点文本框