對不起,如果標題不解釋太多。有數據庫調用時調用驗證Jscript函數的正確方法是什麼?
我有一個帶有文本框,按鈕和錯誤消息的頁面。
我需要驗證在我的文本框中輸入的文本是否爲空或空,具有良好的長度,沒有奇怪的字符和最後但並非最不重要的用戶名不存在於我的數據庫。該部分已完成並正在工作。
我的問題是,什麼是最好的方式來調用我的Jscript函數,驗證用戶名是類型的asp:文本框。
現在我看到3種不同的方式。
使用.blur叫它當焦點在文本框
失去使用.keyup或者只要按下一個鍵
使用定時器來驗證每個.keydown叫它X秒
現在與.blur的問題是,它不驗證沒有失去專注於唯一值得關注的頁面上的事情。 .keyup和.keydown的問題是它會多次調用我的數據庫方式。而定時器的問題是我不確定定時器是否有問題,這就是爲什麼我要問。
我也有一個驗證服務器端,所以它不能通過。
欲瞭解更多信息,這裏的jscript與.blur我現在有。
<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);
};
什麼是最好的辦法呢?
編輯:添加更多信息。現在我的頁面只是一個文本框和一個按鈕。在將來,當我更新我的網站時,我會在頁面上添加一個文本框。
事情是,我寧願用戶不必按任何按鈕,也不使用回車鍵來驗證。只要名稱無效,我想禁用我的提交按鈕。但是現在我想到了這一點,我意識到通過調用數據庫並不適合。所以我的猜測是我應該在我的文本框旁邊放一個「檢查可用性」以驗證它以及使用.blur或.change – snaplemouton 2013-05-13 18:38:13
這種妥協似乎是公平的。我建議使用Javascript進行驗證的第一步,就像您對模糊或更改所做的建議一樣,然後只需點擊新添加的按鈕即可進入數據庫進行唯一性檢查。 – JacobMcLock 2013-05-13 18:44:04
這正是我要做的。謝謝。 :) – snaplemouton 2013-05-13 18:45:04