2010-12-01 27 views
0

我想驗證一個窗體使用jquery(不使用驗證插件)...我想知道的是有沒有辦法調用沒有它,同樣的功能在JS調用jq函數就像你會做一個表單元素的js函數

<input id="xyz" ....onblur=js:function()> 

<input id="abc" ....onblur=js:function()> 

其中被連接到一個特定節點...

等作爲JQ

$(#xyz).blur(); 
$(#abc).blur(); 

沒有確切的語法,但你得到它...

感謝 安迪

+0

你想調用一個內聯處理程序? – 2010-12-01 10:00:39

回答

1
$(function() { 
    $(":input").blur(function() { 
    // executes this function every time the blur event 
    // fires on any input element 
    }); 
} 

「input element」被輸入,textarea,select和button元素。

如果您只是希望在blur事件觸發常規輸入時執行它,則會丟失冒號。 希望我得到了你想達到的。

0

希望我理解這個權利。要悄悄地附上這些事件處理程序,使用document.ready處理器,並加入他們裏面,像這樣:

$(function() { //runs when the DOM is ready 
    $("#xyz").blur(function() { 
    //do some validation... 
    }); 
    $("#abc").blur(function() { 
    //do some validation... 
    }); 
}); 

那麼你的處理器不需要內聯函數,他們可以是:

<input id="xyz" name="xyz" type="text"> 
<input id="abc" name="abc" type="text"> 
+0

不完全....我想要做的就是調用$(函數()每次有一個模糊事件(因爲在每次我輸入或從窗體上的輸入刪除的東西)... – andy 2010-12-01 10:07:34

+0

所以你在說什麼是每當我輸入或編輯事件表單上的東西時,jquery都會被調用,而不需要我去調用它...? – andy 2010-12-01 10:09:19

0
$('#xyz, #abc').blur(function() { 
    //Wrap into jQuery object 
    var $this = $(this); 

    //console.log($this); 

    //Do some validations 
    $this.val($.trim($this.val())); 
    if(!$this.val().length) { 
     alert('box is empty'); 
    } 
});