2016-04-14 55 views
0

我正在處理提交兩個數字的簡短項目。一個必須至少100個,一個不能超過100個。運行三個計算,然後打印回來。在運行計算之前驗證表格

我已經嘗試了各種方法,但我無法獲得JavaScript來阻止無效數字中的函數被提交。表單將返回0,但這是迄今爲止我發現的最好的。

我想要做的事:

  1. 輸入數字
  2. 驗證號碼 - 如果無效,現在停止, - 如果有效的打印錯誤,繼續
  3. 繼續計算
  4. 打印效果

Codepen:http://codepen.io/uggh/pen/bpvmdz

function checkNumbers() { 
    if (isNaN(sqft.value) == true) { 
    returnError.innerHTML = "Please insert number A"; 
    } else if (isNaN(desired.value) == true) { 
    returnError.innerHTML = "Please insert number B"; 
    } 
} 

回答

0

打電話給你Calculate函數從checkNumbers功能

function checkNumbers() { 
    if (isNaN(sqft.value) == true) { 
    returnError.innerHTML = "Please insert number A"; 
    } else if (isNaN(desired.value) == true) { 
    returnError.innerHTML = "Please insert number B"; 
    } 


else{ 
    return calculate(); 
    } 
} 
0

一種方法是讓checkNumbers返回可以在if語句中檢查的內容,以決定是否繼續處理。無論checkNumbers內發生了什麼,您當前的代碼都會呼叫calculate

此外,您的檢查您的號碼字段的測試是錯誤的:如果一個不是有效的號碼,其value是一個空字符串。

0

你可以改變你的onclick看起來像這樣:

if(checkNumbers()){calculate();compare();food();} 

,讓你的函數checkNumbers()返回true,如果如果出現錯誤,一切都很好,並且是錯誤的。