2011-03-16 5 views
0

次のコードをnXnマトリックスの行列式に書きました。 ユーザーが入力した注文(つまりn)が有効かどうかを確認できました。 しかし、私は今停止しています: 3を入力すると、9個のテキストボックスを表示し、それぞれをチェックする必要があります。まず、一般的なn^2個のテキストボックス(つまり、n個の行とn個の列)にどのように表示するのですか? 第2に、それぞれを個別にチェックする方法(つまり、有効なエントリ)です。特定番号を表示しています。 JavaScriptを使用しているHTML入力フィールドの例

コード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Javascript App</title> 
<script type="text/javascript" src="app1.js"> 

</script> 
</head> 
<body><h1 id="heading1" style="text-align:center; height:auto; width:auto; font-family:'Arial Black', Gadget, sans-serif">Determinant of a nxn matrix</h1> 
<p id="paragraph1" style="font-family:'Arial Black', Gadget, sans-serif"> This program allows you to compute the determinant of a nxn matrix</p> 

<p> 
Input the order of the matrix 
<br /> 

<input type="text" maxlength="3" name="fname" id="value" /> 
<input type="button" value="submit" onclick="verifyorder()" /> 
</p> 
<p id="error"></p> 
<p id="detspace"> 
<form method="post" action="displaydet()" name="matrix"> 



</p> 



</body> 
</html> 

のjavascript:あなたは、事前に存在しますどのように多くのかわからないので、あなたが動的にテキストボックスを生成する必要があります

var order; 
function verifyorder(){ 

    order=document.getElementById('value').value; 
    if(order>0){ 
    displaydet(); 
    } 
    else{ 
     alert("Sorry, you need to enter a positive integer value, try again"); 
    document.getElementById('error').innerHTML="Sorry, you need to enter a positive integer value, try again"; 

    } 

    } 

答えて

3

。これにはDocument Object Model(DOM)を使用するか、DOMを使いやすくするJQueryのようなフレームワークを使用します。

この場合、n * n個のテキストフィールドを作成し、それらをグリッドの2つの異なる感覚でグリッドに格納する必要があります。まず、物理的なHTMLテーブルにそれらを格納して、グリッドとして表示する(質問1に答えます)。第2に、2DのJavaScript配列に格納して、コードがそれらを操作できるようにします(質問2に答えます)。

したがって、document.createElement("input")を使用して各テキストフィールドを作成します。 setAttributeメソッドを使用して、テキストフィールドの属性(たとえば、テキストフィールドの静的HTMLソースに表示されるのと同じ属性)をテキスト内に格納する"value"属性などの属性を設定します。その後、テキストフィールドを2D配列に格納して、後でそれらを参照することができます。 HTMLテーブル(DOMを使用)を動的に作成し、行(tr)とセル(td)を動的に作成し、生成されたテキストフィールドをそれぞれtdに挿入する必要があります。

すべての操作を完了すると、ユーザーはすべてのテキストフィールドを見ることができます。それらを検証する必要がある場合は、作成した2D配列を参照してください。各テキストフィールドにgetAttribute("value")を使用して、値を文字列として戻します。次に、あなたが好きなようにそれを検証することができます。

-2
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript" language="javascript"> 
function validation_reg() 
{ 

var f1=document.form1; 
var vname=f1.Login_Name.value; 
var Password=f1.Password.value; 
var submitv=f1.submita.value; 


{ 
    alert(vname); 
    alert(password); 

} 
} 
</script> 
</head> 

<body> 
<form name="form1" id="form1" action="" method="POST"> 
<table align="center" border="1" cellpadding="5"> 
    <tr> 
     <td>Login Name*</td> 
     <td><input id="cname" input name="Login_Name" size="30" type="text" title="Your login name, please!" class="required" maxlength="20" /></td> 
    </tr> 
    <tr> 
     <td> Password*</td> 
     <td><input id="cpaswd" input name="Password" size="31" type="password" maxlength="12" title="Your Password, please!" class="required password" /> 
     <br /></td> 
    </tr> 
    <tr> 
    <td><input class="submit" name="submita" type="submit" value="Submit" onclick="return validation_reg()"/></td></tr> 
    </table> 
    </form> 
</body> 
</html> 
+0

これはどのように質問に答えますか?たぶん、あなたがやっていることや表示しようとしていることについてのコメントはすばらしいでしょう。 –