2010-11-22 111 views
2

我有一個aspx窗體,並且需要使用jquery或javascript進行驗證。使用Javascript在文本框附近顯示消息

我只是想給一個消息附近的文本框,如果用戶輸入一個值,這是不是在textbox.Inorder有效的彈出窗口顯示消息[沒有警報(「信息」)

我如何才能找到用戶輸入無效數據的文本框的位置,或者如何在使用javascript或jquery的文本框附近顯示消息?

我需要在模糊中進行驗證。因此,用戶很容易知道他在輸入後是否立即輸入了有效數據。

在此先感謝。我不想使用asp.net ajax驗證和其標註擴展。
我只是想實現一個類似於驗證標註擴展器的功能。

回答

1

將模糊事件綁定到文本框時,您知道它是哪個文本框。只需使用你的回調JavaScript插入附近的錯誤。

如果你正在做的jQuery,它可能看起來像:

$('.my_textboxes').blur(function() {

var textbox = $(this);

//ajax validation call 
$.post('/whereever', {}, function(response) { 
    //ajax callback 
    if (response == 'error') { 
     textbox.next().html(error); //something like this to insert the error into the next element after the texrbox, eg, a span to hold the error 
    } 
});` 
0

究竟如何做到這一點取決於你的表單的佈局,但一般來說你可能會這樣做:如果驗證重新開始打開文本字段的錯誤,檢查該字段是否已存在「錯誤框」。如果是這樣,那麼只需用新的錯誤信息更新它的內容;如果不是,則添加錯誤元素。要做到這一點

一種方法是使用一個<span>標籤與特定的類(佈局的目的),並從輸入字段的「名」或「身份證」由一個「id」值:

$.fn.setValidationResult = function(errorMessage) { 
    return this.each(function() { 
    var errId = 'errMsg_' + this.name, errMsg = $('#' + errId); 
    if (!errMsg.length) { 
     $(this).after($('<span></span>', { class: 'validation-error', id: errId })); 
     errMsg = $('#' + errId); 
    } 
    if (errorMessage) 
     errMsg.html(errorMessage).show(); 
    else 
     errMsg.html('').hide(); 
    }); 
}); 

然後你可以在驗證通過時使用$(yourInput).setValidationResult(whatever);,其中「whatever」爲空。

1
+0

我覺得你放錯地方的jQuery驗證插件的網址。 – kbvishnu 2010-11-24 14:44:16