2015-06-10 25 views
0

我是網頁開發人員的絕對成員,我想簡單地在在線工具中做一個機會計算器:jsfiddle。我得到了錯誤:「殼形式不驗證」和一些奇怪的錯誤後。這是我的HTML代碼:網絡開發新手,出現錯誤(jsfiddle)

<body> 
    <form method="post">The chance of succes: 
     <input type="number" name="chance"> 
     <br>How many tries: 
     <input type="number" name="tries"> 
     <br> 
     <input type="submit" value="Calculate!"> 
     <br> 
    </form> 
</body> 

我的JavaScript代碼:

function calculate(chance, tries) { 
    console.log(chance/tries * 100); 
} 

正如我所說的,我是新來這個,所以請嘗試解釋一步一步來。

+0

給我們一個鏈接到小提琴 – Celt

+0

有時的jsfiddle是一種痛苦,由於它的沙盒-Y性質調試 - 嘗試做局部得到的是怎麼回事 –

回答

1

你有幾個問題。一個是你的表格試圖讓自己接受自己。另一個是你的計算函數從來沒有被調用過。

您的函數參數永遠不會被調用。讓我們改變輸入以獲得一個id而不是名稱。例如:

<input type="number" id="chance"> 

這使得單擊按鈕時從輸入中獲取值變得更容易。我已經爲輸入一個按鈕而不是一個提交,只是爲了確保你的表單數據不會被髮送到任何地方。

<input type="button" onclick="return calculate(getElementById('chance').value, getElementById('tries').value)" value="Calculate!"> 

這是一個jsfiddle,爲您提供可能的解決方案。 http://jsfiddle.net/0dmkxcab/

+0

謝謝大家一個明確的說法,我的理解onclick屬性,但「返回假」; js函數的結尾對我來說還不清楚,你能解釋一下嗎?另外,我怎樣才能console.log結果?或者我可以把它變成一個變量? @John Stringer –

+0

這只是一個預防措施,以防您需要按鈕成爲提交按鈕。返回false是阻止瀏覽器執行默認操作(在這種情況下,提交表單)的較舊方法。您已經登錄到控制檯,所以如果您打開瀏覽器檢查器並檢查控制檯,您應該看到結果。你當然可以將計算結果存儲到變量中,這可以讓你用它做很酷的事情,比如將它顯示在屏幕上供用戶使用。 –