1
我正在檢查模糊上的一些文本框,有些需要根據相同的critera進行檢查,因此我將這些全部放在一個模糊函數中。我注意到我的頁面看起來很慢,在螢火蟲中,我一直在報錯too much recursion
。jquery在多個模糊函數上遞歸太多
我的代碼如下,它檢查文本框,然後將ID發送到另一個函數,該函數添加一個類來說明它是否有效。
$('#username, #customerName, #customerTown, #customerCounty, #contactName, #staffFirstname, #staffLastname, #staffTown, #staffCounty').blur(function()
{
var ID = $(this).attr('id');
var val = $(this).val();
if(validate(val))
{
valid(ID);
}
else
{
notValid(ID);
}
});
function valid(elementID)
{
$('#'+elementID+'Img').html('<img src="../images/tick.png" alt="Valid" title="Valid" />');
$('#' + elementID).addClass('valid');
}
function notValid(elementID)
{
$('#'+elementID+'Img').html('<img src="../images/cross.png" alt="Not Valid" title="Not Valid" />');
$('#' + elementID).removeClass('valid');
}
function validate(val)
{
var reg = new RegExp ("^([a-zA-Z ]){3,90}$");
var regTest = reg.test(val);
if(regTest)
{
return true;
}
else
{
return false;
}
}
如果我爲每個文本框做了單獨的blur
函數會更好嗎?還是有另一種方式?我真的不想爲每個文本框寫一個模糊函數。
有什麼建議嗎?謝謝。
你確定它的這個代碼,導致緩慢和錯誤信息?我發現什麼都不會很慢,也沒有遞歸。 – Guffa 2011-02-14 01:23:06
這基本上是我在我的頁面上的所有代碼,還有幾個文本框被檢查,但它的方式與上面相同。只有其他功能是一個onclick,但我得到錯誤之前,它被按下。謝謝。 – Elliott 2011-02-14 01:27:24