2013-03-07 87 views
0

我有一個函數從表單驗證數據:轉換條件轉換功能的JavaScript

var step1_validation = function(){ 
      var err = 0; 
      if($('#one').val() == '0'){ 
       $('#one').parent().parent().find('.form-error').html("display error for one."); 
       err++; 
      } 
      if($('#other').val() == '0'){ 
       $('#other').parent().parent().find('.form-error').html("display error for other."); 
       err++; 
      } 
     if($('#eda').val() == ''){ 
       $('#eda').parent().parent().find('.form-error').html("display error for one eda."); 
       err++; 
      } 

      if(err == 0){ 
       //do something 
      }else{ 
       //do other stuff    
      } 
     }; 

由於有幾個輸入端,我想驗證我怎樣才能讓一個函數來驗證輸入爲0或空字符串,並在我的函數內調用它?

if($('#id').val() == '0'){ 
    $('#id').parent().parent().find('.form-error').html("display message."); 
    err++; 
} 

or 

if($('#id').val() == ''){ 
    $('#id').parent().parent().find('.form-error').html("display message."); 
    err++; 
} 
+0

將您的完整代碼添加到document.ready?我想我不會把你的問題弄錯了?我是 – supersaiyan 2013-03-07 06:47:27

+0

爲什麼在引號中''0'' ????? – Jai 2013-03-07 06:49:37

+0

這個代碼在'$(document).ready(function(){}' – cMinor 2013-03-07 06:50:29

回答

1

是這樣的嗎?

var step1_validation = function() { 
    var err = 0; 
    err += validateInput('one', 'display error for one.'); 
    err += validateInput('other', 'display error for other.'); 
    err += validateInput('eda', 'display error for eda.'); 

    if (err == 0) { 
     //do something 
    } else { 
     //do other stuff    
    } 
}; 

function validateInput(id, errorMessage) { 
    var obj = $('#' + id); 
    if (obj.val() == '0' || obj.val() == ''){ 
     obj.parent().parent().find('.form-error').html(errorMessage); 
     return 1; 
    } 
    return 0; 
} 
+0

裏面。你可能想用傳入的代替'id' – Adil 2013-03-07 06:48:57

+0

,但是如何判斷我是否在等待0或空字符串我添加一個標誌來表示一個流程取決於0或字符串? – cMinor 2013-03-07 06:49:27

+0

多數民衆贊成在良好的,但爲什麼爲err ++? – sasi 2013-03-07 06:51:38