2014-01-10 176 views
1

我找不到爲什麼我的代碼不能正常工作jQuery的工作在第二個事件,但沒有第一個

我有這樣的功能:

function checkIt(input_name, input_value){ 
    if (input_name === 'firstname') { 
     y = regs[0]; 
    } else if (input_name === 'lastname') { 
     y = regs[1]; 
    } else if (input_name === 'phone') { 
     y = regs[2]; 
    } else if (input_name === 'mail') { 
     y = regs[3]; 
    } else { 
     y = regs[4]; 
    } 
    z = input_value.match(y1); 

    if (z !== null) { 
     rez = true; 
    } else { 
     rez = false; 
    } 

    return rez; 
} 

,然後即時通訊這樣做:

$(document).on("blur", "input[name=firstname]", function(){ 
    p = $(this).prop("name"); 
    q = $(this).val(); 
    r = checkIt(p, q); 
    if (r) { 
     // something 
    } else { 
     // something 
    } 
}); 

和我的問題是,我的代碼不起作用的第一次模糊。它開始執行第二模糊,並完成一切完美...:/

+5

只是一件事:'z = input_value.match(y1);'你的意思是'y'而不是'y1'嗎?順便說一句,爲什麼使用全局變量? –

+0

控制檯窗口告訴你什麼(按F12)? – rene

+0

什麼是regs-array,checkIt-function應該做什麼,檢查是否填寫了所有必填字段? – Esko

回答

0

嘗試使用(「模糊」,「輸入」,函數)沒有參數名稱,因爲你有var p與此輸入的道具。

$(document).on("blur", "input", function(){ 
     p = $(this).prop("name"); 
     q = $(this).val(); 
     r = checkIt(p, q); 
     if (r) { 
      // something 
     } else { 
      // something 
     } 
    }); 
相關問題