2017-02-09 47 views
0

以下是我的香草js驗證碼。它工作正常,但我想添加一個特定於我的'number'輸入字段的參數。我希望它只驗證用戶是否輸入了高於0的數字,因此0不足以作爲正確的輸入。我嘗試在我的驗證功能中嵌套另一個if statement,但不斷在控制檯中發現錯誤並中斷正確的工作代碼。檢查「數字」html表單輸入的值,並且只有在高於0時驗證

function validateForm(){ 
    // var number = document.getElementById("number"); 
    var form = document.getElementById("form"), inputs = form.getElementsByTagName("input"), input = null, flag = true; 
    for(var i = 0, len = inputs.length; i < len; i++) { 
     input = inputs[i]; 
     // if the value is not a valid number or it's less than or equal 0 
     if(isNaN(input.value) || +input.value <= 0) { 
      flag = false; 
      input.focus(); 
      console.log("Please fill all the inputs (with numbers > 0)"); 
      break; 
     } 
    } 
    return(flag);ß 
} 

即,嵌套時嘗試不起作用。

if (parseInt(number) > 0 && !isNaN(number))) { 
     // console 
     } 
    else { 
     // console 
     } 
+1

請儘量避免在這樣的一個單行干擾一堆'var'聲明。它妨礙了清晰度,*特別是在向別人求助時。 – tadman

+0

你把最後一個'if'放在哪裏?在循環內部還是外部? –

+0

我想在validateForm函數中嵌套所有的驗證 –

回答

1

鑑於您的輸入有type="number",您可以使用此條件

if (input.type == 'number' && +input.value <= 0) { 
    // error, entered number less than or equal to 0 
} 
相關問題