2017-12-03 8 views
0

これらのJavaScript関数がなぜ起動しないのかわかりません。私はJavaScriptの非常に小さな知識を持っているので、私はいくつかの大きな間違いを犯したかどうか尋ねています。なぜこれらのJavaScript機能が起動しないのですか?

<!DOCTYPE html> 
<html> 
<head> 
<title>prova</title> 
<script> 
     var ind = 0; 
     var mat = new Array(10); 

     for(int i=0;i<10;i++) 
      mat[i] = new Array(2); 

     function addValue() 
     { 
      mat[ind]["nome"] = document.modulo.nome.value; 
      mat[ind]["cognome"] = document.modulo.cognome.value; 
      ind++; 
      alert("Valore aggiunto con successo!"); 
     } 

     function showValues() 
     { 
      var pag = window.open("","page","width=250,height=200"); 
      pag.document.write("<table>"); 
      for(int i=0;i<10;i++) 
      { 
       pag.document.write("<tr>"); 
       pag.document.write("<td>" + mat[i]["nome"] + "</td>"); 
       pag.document.write("<td>" + mat[i]["cognome"] + "</td>"); 
       pag.document.write("</tr>"); 
      } 
      pag.document.write("</table>"); 
     } 
</script> 
</head> 
<body> 
    <h1>Matrice associativa</h1> 
    <form name="modulo" method="post"> 
     <b>Nome: </b><input type="text" name="nome"/><br/><br/> 
     <b>Cognome: </b><input type="text" name="cognome"/><br/><br/> 
     <input type="button" name="aggiungi" value="Aggiungi" onclick="addValue();"/> 
     <input type="button" name="visualizza" value="Visualizza" onclick="showValues();"/>   
    </form> 
</body> 
</html> 
+1

ジャバスクリプトには、 'int'年代はありません – Robbie

答えて

3

あなたがコンソールをチェックする必要があります:

は、ここに私のコードです。

この場合の問題点は、あなたがfor (int i=0 ...を書き、 let代わりにintの使用されているということです。エラーはコードに2回表示されます。

これを修正すると、期待どおりに動作します。

1

あなたがループを書くかどうかを確認するのは間違っています。なぜなら、javascriptの変数宣言ではvarキーワードを使用する必要があるからです。

0

エラーはforループで発生します。ここでデータタイプを使用する必要はありません。

コードを置き換えます。

for (i = 0; i < 10; i++) 
    mat[i] = new Array(2); 

for (i = 0; i < 10; i++) 
{ 
    pag.document.write("<tr>"); 
    pag.document.write("<td>" + mat[i]["nome"] + "</td>"); 
    pag.document.write("<td>" + mat[i]["cognome"] + "</td>"); 
    pag.document.write("</tr>"); 
} 

gif image

関連する問題