2016-12-23 22 views
-3

My JavaScriptのコードが2つの異なる値で動作しない問題はどこですか? 2つの異なる条件で2つの異なる値で除算するようにコードを設定しようとしています。しかし、私はif elseステートメントに入っています。ここでのコードのリンク:https://jsfiddle.net/gLb0uok5/Javascriptコードが異なる2つの値で動作しない

function calc() 
 
    { 
 
     var m1,m2,m3,avg = 0,total = 0, result = "",grade = ""; 
 
     m1 = parseInt(document.form1.wp.value); 
 
     m2 = parseInt(document.form1.sp.value); 
 
     m3 = parseInt(document.form1.cg.value); 
 
     total = m1+m2+m3; 
 
     
 
     
 
     if(m3 = 0) 
 
     { 
 
      avg = total/2; 
 
     } 
 
     else(m3 >= 1) 
 
     { 
 
      avg = total/3; 
 
     } 
 
     document.form1.result.value = result; 
 
     document.form1.grade.value = grade; 
 
     document.form1.total.value = total; 
 
     document.form1.average.value = avg; 
 
     
 
    }
<form name = "form1"> 
 
     <table border = "1"> 
 
      <tr> 
 
       <td> Student Name</td> 
 
       <td><input type = "text" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td colspan = "2" align = "center">Subject Marks</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Web Programming</td> 
 
       <td><input type = "text" name = "wp" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>Computer Graphics</td> 
 
       <td><input type = "text" name = "cg" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>System Programming</td> 
 
       <td><input type = "text" name = "sp" /></td> 
 

 
      </tr> 
 
      <tr> 
 
       <td colspan = "2" align = "center"><input type = "button" onclick = "calc()" value = "calculte" /></td> 
 
      </tr>    
 
      <tr> 
 
       <td>Total</td> 
 
       <td><input type = "text" name = "total"/></td> 
 

 
      </tr> 
 
      <tr> 
 
       <td>Average</td> 
 
       <td><input type = "text" name = "average" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>Result</td> 
 
       <td><input type = "text" name = "result" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>Grade</td> 
 
       <td><input type = "text" name = "grade"/></td> 
 
      </tr> 
 

 
     </table> 
 
    </form>

+1

あなたは構文エラーを持っているコード –

+0

でよりきれいに、あなたの問題を説明してください。そして、合計に追加する前にm3が存在するかどうかを確認する必要があります。 – Shilly

答えて

0

入力が与えられていないとき、m1またはm2またはm3NaN(非数)となります

だからチェックを実行します。

if(isNaN(m1)) m1 =0; 
    if(isNaN(m2)) m2 =0; 
    if(isNaN(m3)) m3 =0; 

それは動作します。 Working code here

0

値を要素に設定することを忘れて、値にアクセスしようとしましたが、常にNULLになるため、NaNエラーが発生しています。ここのデモをご覧ください。私はちょうどvalue="2"を追加しています。

function calc() 
 
    { 
 
     var m1,m2,m3,avg = 0,total = 0, result = "",grade = ""; 
 
     m1 = parseInt(document.form1.wp.value); 
 
     m2 = parseInt(document.form1.sp.value); 
 
     m3 = parseInt(document.form1.cg.value); 
 
     total = m1+m2+m3;  
 
     
 
     if(m3 = 0) 
 
     { 
 
      avg = total/2; 
 
     } 
 
     else(m3 >= 1) 
 
     { 
 
      avg = total/3; 
 
     } 
 
     document.form1.result.value = result; 
 
     document.form1.grade.value = grade; 
 
     document.form1.total.value = total; 
 
     document.form1.average.value = avg;   
 
}
<form name = "form1"> 
 
     <table border = "1"> 
 
      <tr> 
 
       <td> Student Name</td> 
 
       <td><input type = "text" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td colspan = "2" align = "center">Subject Marks</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Web Programming</td> 
 
       <td><input type = "text" name = "wp" value="2" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>Computer Graphics</td> 
 
       <td><input type = "text" name = "cg" value="2" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>System Programming</td> 
 
       <td><input type = "text" name = "sp" value="2" /></td> 
 

 
      </tr> 
 
      <tr> 
 
       <td colspan = "2" align = "center"><input type = "button" onclick = "calc()" value = "calculte" /></td> 
 
      </tr>    
 
      <tr> 
 
       <td>Total</td> 
 
       <td><input type = "text" name = "total"/></td> 
 

 
      </tr> 
 
      <tr> 
 
       <td>Average</td> 
 
       <td><input type = "text" name = "average" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>Result</td> 
 
       <td><input type = "text" name = "result" /></td> 
 
      </tr> 
 
      <tr> 
 
       <td>Grade</td> 
 
       <td><input type = "text" name = "grade"/></td> 
 
      </tr> 
 

 
     </table> 
 
    </form>

関連する問題