我正在尝试使用jquery验证日期。如果用户输入了无效日期,则应将焦点设置在同一控件中。我已经在下面编写了代码,它在所有浏览器中都能正常工作,但在Mozilla中却无效。
function CheckDate(txt) {
var isValid = false;
var txtDate = $('input[id$=' + txt + ']').val();
if (txtDate.length == 0) {
isValid = true;
}
else {
if (isDate(txtDate)) {
isValid = true;
}
else {
isValid = false;
$('#' + txt).focus();
}
}
//alert(txtControl);
}
我在文本框的onBlur事件上调用此函数。 我没有得到任何解决方案。如果有人知道,请帮助我。
答案 0 :(得分:1)
尝试.trigger('focus')
而非简单.focus()
答案 1 :(得分:0)
在您的代码中,我觉得选择器有问题。我们需要看到txt
的价值。那么你可以改变你的这部分代码:
$('#' + txt).focus();
要:
$('input[id$=' + txt + ']').focus();
答案 2 :(得分:0)
您可以使用此代码
$('#' + txt).attr('value');
并使用此
$('#' + txt).focus();
答案 3 :(得分:0)
它可以在setTimeOut中使用焦点:http://www.echoknowledge.com/javascript-focus-is-not-working-in-firefox/