在文本框中,用户可以输入日期。在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();
}
}
答案 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>
在上面的示例中,焦点按预期返回到输入。