- - PR -
javascriptでテーブルの行数を取得する方法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-12 11:46
いつもお世話になっております。
javascriptに関しましての質問なのですが 動的に行数が変わるtableの行数を取得し、その中のチェックボックスの正負を チェックしたいと思っております。 そこで質問なのですが、tableの行数をどのようにして取得すればよいか 分かりません。 また、フォーム内に存在するチェックボックス全てのコントロールを取得することは できるのでしょうか。 質問ばかりで申し訳ございません。 ご存知の方がいらっしゃればご教授よろしくお願い致します。 | ||||||||||||
|
投稿日時: 2006-10-12 12:00
>チェックボックスの正負
正負とはなんでしょう…? >tableの行数 rowsコレクションの長さで。 >フォーム内に存在するチェックボックス全てのコントロール elements + type属性のチェック getElementsByTagName + type属性のチェック getElementsByName あたりのどれかで。 | ||||||||||||
|
投稿日時: 2006-10-12 12:24
mioさんご回答ありがとうございます
>正負とはなんでしょう? ture,falseの事です。表現が間違っていたようですみません。 >rowsコレクションの長さで。 試してみたいと思います。 >elements + type属性のチェック >getElementsByTagName + type属性のチェック >getElementsByName >あたりのどれかで。 私の知識不足なのですが、ご回答いただいた上記を どのように使用してよいか分かりません。 よろしければもう少し分かりやすくご回答いただけると幸いです。 | ||||||||||||
|
投稿日時: 2006-10-12 13:08
mioさんのご回答をもとに作成してみました。
var strlength; var iCnt; var chk; var chk_flg; strlength=テーブル.rows.length for(iCnt=0;iCnt<strlength;iCnt++){ chkMail=eval('Form1.コントロール名+ (iCnt) + '); if(chkMail.checked == true){ chk_flg='OK' }else{ } } if(chk_flg != 'OK'){ alert('エラーメッセージ'); return false; }else{ } まだまだ訂正するところはあると思いますが、少しずつ訂正していきたいと思います また今後のためにも >elements + type属性のチェック >getElementsByTagName + type属性のチェック >getElementsByName のほうを調べてたいと思います。 | ||||||||||||
|
投稿日時: 2006-10-12 14:01
そのまま和訳して「真偽」ですね。「チェックボックスの〜」というなら、「チェックの有無」がいいのかも。
コレクションをループして、必要であればその中からチェックボックスのものを選んで処理する、という流れです。 チェックボックスに全て同じnameをつけているのなら、form.elements[名前]やgetElementsByName(名前)でコレクションが得られます。 行とチェックボックスは完全にひもづいてるみたいなので、今回はrows.lengthは不要のようですね。
true/falseと比べるなら、(chkMail.checked) (!chkMail.checked)で良いですよ。 それから、どれか一箇所でもチェックがついていればいいようなので、chk_flg = 'OK'と同時にbreakしてやるといいのでは。 [ メッセージ編集済み 編集者: mio 編集日時 2006-10-12 14:03 ] | ||||||||||||
|
投稿日時: 2006-10-12 16:45
mioさんご回答ありがとうございます。
>true/falseと比べるなら、(chkMail.checked) (!chkMail.checked)で良いですよ。 >それから、どれか一箇所でもチェックがついていればいいようなのでchk_flg= 'OK'と>同時にbreakしてやるといいのでは。 修正内容大変参考になります。有難うございます。 |
1