对不起,如果标题没有解释太多。
我有一个带有文本框、按钮和错误消息的页面。
我需要验证在我的文本框中输入的文本是否不为空或不为空、长度是否合适、其中没有奇怪的字符,最后但并非最不重要的是,我的数据库中不存在该用户名。那部分已经完成并且正在工作。
我的问题是,调用我的 Jscript 函数来验证用户名所在的 asp:textbox 的最佳方法是什么。
现在我看到3种不同的方式。
当文本框失去焦点时使用 .blur 调用它
每当按下某个键时,使用 .keyup 或 .keydown 调用它
使用计时器每 X 秒验证一次
现在 .blur 的问题在于,如果不失去对页面上唯一值得关注的内容的关注,它就无法验证。.keyup 和 .keydown 的问题是它会多次调用我的数据库。计时器的问题是我不确定计时器是否有问题,这就是我问的原因。
我也有一个验证服务器端,所以它不能通过。
有关更多信息,请参阅我现在拥有的带有 .blur 的 jscript。
<script type="text/javascript">
var Name;
var NameValid = false;
$(document).ready(function () {
Name = $("#txtBox");
validateName();
Name.blur(function () {
validateName();
});
});
function validateName() {
NameValid = false;
PageMethods.NameValidMethod(Name.val(), successName, error);
};
最好的方法是什么?
编辑:添加更多信息。现在我的页面只是一个文本框和一个按钮。将来当我更新我的网站时,页面中的文本框将更多。