2014-03-06 106 views
2

一直在爲此HTML5作品使用Javascript,但我無法獲得美聯儲稅或毛總額正確提示。我認爲這可能與我的單選按鈕有關。任何幫助將是美好的。我對此很陌生,所以請儘量以通俗的語言保留答案。使用單選按鈕計算Javascript/HTML5的麻煩

<!HTML> 
<html> 
<head> 
<title> Payroll Calculator </title> 
<script language="javascript"> 
    function Calc() 
    { 
    var hour, pay, status, kids, gross, tax, net; 
    hour = parseFloat(document.payroll.Hours.value); 
    pay = parseFloat(document.payroll.PayRate.value); 
    gross = parseFloat (hour * pay); 
    document.payroll.GrossPay.value = gross.toFixed(2); 
    kids = parseFloat(document.payroll.Dependents.value); 
    status = parseFloat(document.payroll.Marital.value); 
    tax = parseFloat (gross * status) - kids; 
    document.payroll.FedTaxes.value = tax.toFixed(2); 
    net = parseFloat (gross - tax); 
    document.payroll.NetPay.value = net.toFixed(2); 
    } 
</script> 
</head> 
<body> 

<form name="payroll"> 
<table bgcolor="grey" cellpadding="0"> 
<tr><td colspan="2" align="center"><b>Payroll Calculator<b></td></tr> 

<tr><td><label for="name"> Name: </label></td> 
<td><input type="text" name="name"></td></tr> 

<tr><td><label for="Hours"> Hours: </label></td> 
<td><input type="text" name="Hours"> 99.9 </td></tr> 

<tr><td><label for="PayRate"> Pay Rate: </label></td> 
<td><input type="text" name="PayRate"> 99.99 </td></tr> 

<tr><td colspan="2"> Marital Status: 
<input type="radio" value=".30" name="Marital" checked> Single 
<input type="radio" value=".20" name="Marital"> Married </td></tr> 

<tr><td> Dependents: </td><td> 
<select name="Dependents"> 
    <option value="10"> 1 </option> 
    <option value="20"> 2 </option> 
    <option value="30"> 3 </option> 
    <option value="40"> 4 </option> 
    <option value="50"> 5 </option> 
</select></td></tr> 

<tr><td><label for="GrossPay"> Gross Pay: </label></td> 
<td><input type="text" name="GrossPay" readonly></td></tr> 

<tr><td><label for="FedTaxes"> Fed Taxes: </label></td> 
<td><input type="text" name="FedTaxes" readonly></td></tr> 

<tr><td><label for="NetPay"> Net Pay: </label></td> 
<td><input type="text" name="NetPay" readonly></td></tr> 

<tr><td colspan="2" align="center"><input type="button" value="Calculate" onclick="Calc()"> 
<input type="reset" value="Clear"></td></tr> 
</form> 

</table> 
</body> 
</html> 
+0

''標籤在''標籤之前。需要相反。 – Papa

+0

好點謝謝! – JoswaR

回答

2

爲了獲得所選無線電的值,您需要檢查哪一個被檢查並獲得它們的值。

所以,你可以計算出狀態VAR下列要求:

status = parseFloat(document.payroll.Marital[0].checked ? document.payroll.Marital[0].value : document.payroll.Marital[1].value); 

您可以點擊這裏:http://jsbin.com/yekadohu/1/

商祺!

+0

太棒了,謝謝一堆! 我會爲你做了什麼,在這裏,但爲什麼檢查後它有「?document.payroll.Marital [0] .value的」 只是好奇,更多的信息越多,我會學習和couldn」大部分不會傷害,我假設冒號將兩個分開? 再次感謝一堆! – JoswaR

+0

哦,我想我可能會看到它是什麼意思,它是否在檢查其他兩個人之前是否實際檢查過單個問題,是否有權假設? – JoswaR

+0

我嘗試用jsbin的註釋解釋。 「?」後面跟着「:」是一個內聯if else用於在變量上設置一個值。 「變量=(條件)?(值如果爲真):(值如果爲假)」 http://jsbin.com/yekadohu/2/edit –