使用javascript将焦点设置在文本框上

Set focus on textbox using javascript

本文关键字:文本 设置 javascript 焦点 使用      更新时间:2023-09-26

在文本框中,用户可以输入日期。在OnChange事件中,我试图使用javascript验证日期,如果它不是有效的日期,则显示警报消息并在文本框上设置焦点。

在这里,当我输入无效日期并按tab键时,onchange事件会触发,如果日期无效,它不会将焦点设置在文本框上,而是将焦点设置为表单中的下一个文本框。

<asp:TextBox ID="txtDateOfBirth" runat="server"
    onchange="validateDate(this)"></asp:TextBox>
function validateDate(sender) {
    if (!Date.parseInvariant(sender.value, "MM/dd/yyyy")) {
        alert("date is incorrect");
        sender.focus();
    }
}

尝试使用onblur而不是onchange:

<script type="text/javascript">
    check = function (sender) {
        if (sender) {
            alert("check");             
            sender.focus();
        }
    }
</script>
<asp:TextBox ID="txtTest" runat="server" onblur="check(this);"></asp:TextBox>

在上面的示例中,焦点按预期返回到输入。