プロが教える店舗&オフィスのセキュリティ対策術

先ほどとの関連になりますが、
<SCRIPT LANGUAGE="JavaScript">
<!--JavaScript
function TotalSum(i)
{
var evalStr = eval("document.sum" + i);
with(evalStr)
{
if(!isNaN(text1.value) && !isNaN(text2.value) && !isNaN(text3.value) &&
text1.value && text2.value && twxt3.value);
{
text4.value = eval(text1.value) + eval(text2.value) - eval(twxt3.value);
}
if( !isNaN(text5.value) && !isNaN(text6.value) &&
text5.value && text6.value);
{
text7.value = eval(text4.value) + eval(text5.value) + eval(text6.value);
}
}
}
// -->
</script>
</head>
<body>
<TABLE BORDER="1">
<FORM name="myform"
action="url"
method="post"
onSubmit="TotalSum(' + i + ');return false;">
<cfloop index="i" from="1" to="10">
<TR>
<TD><input type="text" name="text1" onChange="TotalSum('+i+')" value="0"></TD>
<TD><input type="text" name="text2" onChange="TotalSum('+i+')" value=""></TD>
<TD><input type="text" name="text3" onChange="TotalSum('+i+')" value="0"></TD>
<TD><input type="text" name="text4" onChange="TotalSum('+i+')" value="0"></TD>
<TD><input type="text" name="text5" onChange="TotalSum('+i+')" value=""></TD>
<TD><input type="text" name="text6" onChange="TotalSum('+i+')" value=""></TD>
<TD><input type="text" name="text7" onChange="TotalSum('+i+')" value="0"></TD>
</TR>
</cfloop>
</form>
</TABLE>
</body>
また、見当はずれなこと言っていたらすみません。

A 回答 (1件)

まず、JavaScriptから



1. var evalStr = eval("document.sum" + i);
 documentの次はform属性です。
 formの名前は、「sum+i」ですか?

2.if(!isNaN(text1.value) && !isNaN(text2.value) && !isNaN(text3.value) &&
text1.value && text2.value && twxt3.value);

 構文がめちゃくちゃです。
 JavaScriptの本なりサイトなりで、キチンとした構文を調べてください。
 これではなにも判定できないどころか、エラーで落ちます。
 当然、計算ロジックが走るわけがありません。

3.onSubmit="TotalSum(' + i + ');return false;">
 この書き方も間違っています。
 JavaScriptの基本です。
 本で調べれば、最初に出てきますよ。
 っていうか、FORMのSubmitに計算ロジック走らせてどうするんですか?
 Submitボタンもないのに・・・。

そして、CF部分ですが、
1.<input type="text" name="text1" onChange="TotalSum('+i+')" value="0">
 この書き方は、JavaScriptです。
 'i'はCFの変数ですよね?
 CFの変数の参照方法を調べてください。

この質問に答えると、0から私が作る事と同じになりますので、とりあえず間違っている部分の指摘だけにさせていただきます。
キツイ言い方かもしれませんが、基本を全く押さえずにいくら書いてみても、時間の無駄ですよ。
上記の指摘は、まったくの基本箇所ばかりです。
本などがないのであれば、該当のサイトを検索してすみずみまで一度読んで、最低限ソースの書き方だけでもマスターしてから始める事をお薦めします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!