以下のようなHTMLがあり、test*aというidタグには

javascriptで計算された値がInnerHTMLで格納されます。
でその格納された値とtest*の値を比較して
マッチしていればtest*okというタグにInnerHTMLで
OKと格納して違うならNGと格納するような
javascripは出来ますか?

<TABLE>
<tr>
<td id=test1>11<td>
<td id=test1a><td>
<td id=test1ok><td>
</tr>
<tr>
<td id=test2>22.55<td>
<td id=test2a><td>
<td id=test2ok><td>
</tr>
<tr>
</tr>
<td id=test3>33<td>
<td id=test3a><td>
<td id=test3ok><td>
<tr>
<td id=test4>42.3<td>
<td id=test4a><td>
<td id=test4ok><td>
</tr>
</TABLE>
結果、
test1a = 10 => test1ok = NG
test2a = 22.55 => test2ok = ok
test3a = 33 => test3ok = ok
test4a = 42.1 => test4ok = NG

なにかこのような確認作業を他にもブラウザ出来るすべが
あるのであればそちらの方を教えてもらえますか?
test*の値は静的に埋め込んでます。

回答の条件
  • 1人10回まで
  • 登録:2007/06/15 18:23:15
  • 終了:2007/06/18 11:57:56

回答(2件)

id:t_shiono No.1

t_shiono回答回数256ベストアンサー獲得回数222007/06/15 18:57:07

ポイント35pt

こんな感じでしょうか?

  var ans = [10.0, 22.55, 33.0, 42.1];

  for (var i = 0; i < ans.length; ++i) {
    var did = 'test' + (i + 1).toString();
    var data = document.getElementById(did).innerHTML - 0.00;

    var aid = 'test' + (i + 1).toString() + 'a';
    document.getElementById(aid).innerHTML = ans[i].toString();

    var id = 'test' + (i + 1).toString() + 'ok';
    if (ans[i] == data) {
      document.getElementById(id).innerHTML = 'OK';
    } else {
      document.getElementById(id).innerHTML = 'NG';
    }
  }

JavaScriptを使わないとなると、答えの生成方法にもよりますが、XSLTでも処理できるかもしれないですね。

id:hopefully

ありがとうございますw

2007/06/18 11:57:27
id:mlkc81 No.2

mlkc81回答回数27ベストアンサー獲得回数22007/06/16 03:16:17

ポイント35pt

function check(arg){

  var checkID = "test" + arg;

  var inputID = "test" + arg + "a";

  var outputID = "test" + arg + "ok";

  var input_value = document.getElementById(inputID).innerHTML;

  var check_value = document.getElementById(checkID).innerHTML;


  if ( input_value == check_value ){

    document.getElementById(outputID).innerHTML = "OK";

  }else{

    document.getElementById(outputID).innerHTML = "NG";

  }

}

上記を<head>内に。<body>内には以下のように。

  <td><a href="javascript:check(1);">check</a></td>


全部の値を一度にチェックしたい場合は、

function check_all(){

  for( i = 1 ; i < 5 ; i++ ){

    check(i);

  }

}

を<head>内に。<body>内に下記を。

  <a href="javascript:check_all();">check</a>


というものでいかがでしょうか?

id:hopefully

これで頑張りますw

ありがとうございます。

2007/06/18 11:57:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません