以前こちらにも書いた表計算っぽいJavaScriptに不具合を発見。
常に行数が2以上あれば問題ないが、データベースから必要な行数をセットするような場合に行数が1だとスクリプトエラーが発生する。
原因は1行の場合は配列にならないからだ。
そこで配列かどうかの判定ルーチンを入れてみる。
function keisan(){
var dmy = document.F1.tanka;
if(dmy.length) {
for(i=0;i < document.F1.tanka.length;i++){
document.F1.kingaku[i].value=eval(document.F1.tanka[i].value) * eval(document.F1.suryo[i].value);
}
} else {
document.F1.kingaku.value=eval(document.F1.tanka.value) * eval(document.F1.suryo.value);
}
}
完成度の高いシステムを目指すのだ。
常に行数が2以上あれば問題ないが、データベースから必要な行数をセットするような場合に行数が1だとスクリプトエラーが発生する。
原因は1行の場合は配列にならないからだ。
そこで配列かどうかの判定ルーチンを入れてみる。
function keisan(){
var dmy = document.F1.tanka;
if(dmy.length) {
for(i=0;i < document.F1.tanka.length;i++){
document.F1.kingaku[i].value=eval(document.F1.tanka[i].value) * eval(document.F1.suryo[i].value);
}
} else {
document.F1.kingaku.value=eval(document.F1.tanka.value) * eval(document.F1.suryo.value);
}
}
完成度の高いシステムを目指すのだ。