2011-02-27 60 views
2

我想創建一個表格,將根據所選 此選項自動計算點是我想出了,但到目前爲止,它似乎並沒有工作使用javascript或PHP添加表單值?

<html> 
<head> 
<link rel="stylesheet" href="style000.css" type="text/css" media="screen" /> 
</head> 
<body> 
<form name="form"> 
<label>Age</label> 
<select name='g'> 
<option value='' >Select One</option> 
<option value='0' >Less than 17</option> 
<option value='2' >17</option> 
<option value='4' >18</option> 
<option value='6' >19</option> 
<option value='8' >20</option> 
<option value='10' >21-49</option> 
<option value='8' >50</option> 
<option value='6' >51</option> 
<option value='4' >52</option> 
<option value='2' >53</option> 
<option value='0' >54+</option> 
</select> 
<label>Education</label><select name='a'> 
<option value='' selected='selected'>Select one</option> 
<option value='0' >No High School</option> 
<option value='5' >Secondary School</option> 
<option value='12' >One Year Diploma, apprenticeship AND 12 years full time study</option> 
<option value='15' >One Year Diploma, apprenticeship AND 13 years full time study</option> 
<option value='15' >Bachelors Degree from University AND 13 years full time study</option> 
<option value='20' >2 year diploma AND 14 years full time study</option> 
<option value='20' >2 year bachelor&#039;s degree from university AND 14 years full time study</option> 
<option value='22' >3 year diploma AND 15 years full time study</option> 
<option value='22' >2 bachelor degrees from university and 15 years full time study</option> 
<option value='25' >PhD or Masters &amp; 17 years full time study</option> 
</select> 
<h3><strong>Primary Language</strong></h3> 
<label>Speaking</label> 
<select name="c"> 
<option value='' >Select One</option> 
<option value='4' >6.5+</option> 
<option value='2' >5.5 – 6.0</option> 
<option value='1' >4.0 – 5.0</option> 
<option value='0' >Less than 4.0</option> 
</select> 
<label>Listening</label> 
<select name="d"> 
<option value='' selected='selected'>Select One</option> 
<option value='4' >7.5+</option> 
<option value='2' >5.5 – 7.0</option> 
<option value='1' >4.5 – 5.0</option> 
<option value='0' >Less than 4.5</option> 
</select> 
<label>Reading</label> 
<select name="e"> 
<option value='' >Select One</option> 
<option value='4' >6.5+</option> 
<option value='2' >5.0 – 6.0</option> 
<option value='1' >3.5 – 4.5</option> 
<option value='0' >Less than 3.5</option> 
</select> 
<label>Writing</label> 
<select name='f'> 
<option value='' >Select One</option> 
<option value='4' >6.5+</option> 
<option value='2' >5.5 – 6.0</option> 
<option value='1' >4.0 – 5.0</option> 
<option value='0' >Less than 4.0</option> 
</select> 
<h3><strong>Work</strong></h3> 
<label>Work Experience</label> 
<select name="b"> 
<option value=''>Select One</option> 
<option value='0' >Less than 1 year</option> 
<option value='15' >1 Year</option> 
<option value='17' >2 Years</option> 
<option value='19' >3 Years</option> 
<option value='21' >4 Years or more</option> 

<label>Arranged Employment</label> 
<select name="l"> 
<option value=''>Select One</option> 
<option value='10'>Yes</option> 
<option value='0'>No</option> 
</select> 

<h3><strong>Adaptability</strong></h3> 
<label>Spouse&#039;s Education</label> 
<select name="h"> 
<option value='' >Select One</option> 
<option value='0' >Secondary School</option> 
<option value='3' >One Year Diploma, apprenticeship AND 12 years full time study</option> 
<option value='3' >Bachelors Degree from University AND 13 years full time study</option> 
<option value='4' >A two-year diploma, trade certificate or apprenticeship or university degree at the bachelor's level and completed at least 14 years of full-time or full-time equivalent studies</option> 
<option value='4' >A three-year diploma, trade certificate or apprenticeship (not university) and completed at least 15 years of full-time or full-time equivalent studies</option> 
<option value='4' >Two or more university degrees at the bachelor's level and completed at least 15 years of full-time or full-time equivalent studies</option> 
<option value='5' >A master's or Ph.D. and completed at least 17 years of full-time or full-time equivalent studies</option> 
<option value='0' >No Education</option> 
</select> 

<label>Applicant OR Spouse has studied in Canada</label> 
<select name='i'> 
<option value='5'>Yes, more than two years post secondary after the age of 17.</option> 
<option value='0'>Yes, but for less than two years</option> 
<option value='0'>No</option> 
</select> 
<label>Applicant OR Spouse has worked in Canada</label> 
<select name="j"> 
<option value='' selected='selected'>Select One </option> 
<option value='5'>Worked full-time in Canada for at least one year</option> 
<option value='0'>Yes, but for less than 1 year</option> 
<option value='0'>No</option> 
</select> 
<label>Applicant or Spouse has Family in Canada</label> 
<select name="k"> 
<option value='' selected='selected'>Select One</option> 
<option value='5'>Yes</option> 
<option value='0'>No</option> 
</select> 
<INPUT NAME="calc" VALUE="Calculate" TYPE="button" onClick="compute(this.form)"> 
<input name="rslt" type="text" style="font-size: 50px" value="" size="5" readonly="readonly"> 
<h3 style="font-size: 50px">points</h3> 
</form> 
<script language="JavaScript"> 
<!-- hide this script from old browsers 
function compute(form) 
{ 
var a = parseInt(form.a.value); 
var b = parseInt(form.b.value); 
var c = parseInt(form.c.value); 
var d = parseInt(form.d.value); 
var e = parseInt(form.e.value); 
var f = parseInt(form.f.value); 
var g = parseInt(form.g.value); 
var h = parseInt(form.h.value); 
var i = parseInt(form.i.value); 
var j = parseInt(form.j.value); 
var k = parseInt(form.k.value); 
var l = parseInt(form.l.value); 
f = (a + b + c + d + e + f + g +h + j + k + l); 

form.rslt.value = f; 
} 

// done hiding from old browsers --> 
</script> 
</body> 
</html> 

什麼我錯了做的是還有JavaScript或PHP,做最好的JavaScript 感謝

回答

1

<select name="b">元素的另一種方法是缺少閉幕</select>標籤,所以下面<select name="l">元素丟失,當你嘗試做你得到一個錯誤form.l.value

適當的縮進有助於避免此類問題。

請注意,你可能想這樣做:

var a = parseInt(form.a.value, 10) || 0; 
var b = parseInt(form.b.value, 10) || 0; 
var c = parseInt(form.c.value, 10) || 0; 
var d = parseInt(form.d.value, 10) || 0; 
// and so on 

...所以你沒有得到NaN如果一些value""並確保基地10

+0

你是一個救星!我一直在試圖找出長期以來的錯誤,Dreamweaver沒有指出任何事情,但現在它實際上突出了錯誤...是的,我是一個非常愚蠢的人。 – jackson5 2011-02-27 01:21:37

+0

@theatomicdude:很高興能幫到你。 – user113716 2011-02-27 01:24:20