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

时间:2012-03-28 15:37:11

标签: javascript asp.net ajax

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

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

<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();
    }
}

1 个答案:

答案 0 :(得分:1)

尝试使用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>

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