2011-02-27 2 views
1

私はこのフォームを作成し、ユーザーの入力に応じてポイントを計算しました。Javascriptで奇妙な結果が出ますか?

可能な最大ポイントは105であるが、指定された結果は、選択がある最大のポイントを取得するために97

ある:

  • 21-49
  • 博士号・マスターズ& 17歳
  • 6.5 +
  • 7.5+
  • 6.5+
  • 修士または博士号を取得し、フルタイムの少なくとも17年を完了は17 歳以降のポスト二次
  • はい、2年以上研究して10
  • 6.5 +
  • 4年以上
  • はい
  • はい
  • 少なくとも1年間はカナダで

をフルタイムで働いてここに私のコードです:

<html> 
<head> 
</head> 
<body> 
<form name="form"> 
<input name="pnt" type="hidden" value=" points"> 
<input name="rsn" type="hidden" value=" -not eligible"> 
<input name="rsy" type="hidden" value=" -eligible"> 
<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> 
</select> 

<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="20" readonly="readonly"> 
</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> 
+0

してください再ポストこの質問(また、最大は私に102をように見える)、しかし:A)(より多くのサンプルコードを投稿するhttp://jsfiddle.net/を使用し、重要なこと)B)問題が何であるか(あなたが期待しているもの、実際に見ているもの)を教えてください。 –

+0

最大値は105ではなく* 102 *です! – Gabe

+0

私は3回チェックしたところ、最大ポイントは105でなく102であった。@David Wolever、私は十分な質問があると思った。彼はライブの例です:http://jsbin.com/adoli4 – strager

答えて

5

この行は、 "I"

F =(A + B + C + D + E + F + G +のH + J + K + L)欠落しています。

+0

ああ、なぜこれらの小さなものが欠けているのですか?ありがとうございました(そして値段には間違いがありました) – jackson5

+2

もう1組の目を代用することは決してありません。しばらくして、私たちはみな何がそこにあるべきかを見ます;-) –

+0

あなたは私の友人です。 – jackson5