JavaScript覚え書き
覚え書きなのでパブリック公開。
Web勉強仲間のゆきひとさんが、JavaScriptが上手く動かないといってソースをあげていたので、AKIも一緒に勉強してみました。
ゆきひとさんのソースから問題の箇所を洗い出して修正できればいいのですが、スクリプトがダメダメなAKIに他人の書いたスクリプトがわかるはずもなく、結局使われている変数名などだけを流用して自分で書いてしまいまいた。
これじゃぁ、どこが悪いんだか全然わかりませんね。(汗
計算をする簡単なスクリプトのはずなんですが・・・。
以下、ソース。htmlは簡易版
----------------------------------------------------------------
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
function Tanka_1(){
var index = eval(document.form1.Select_1.value);
document.form1.Syouhinn_1.value = eval(document.form1.Kakaku_1.value)*index;
}
//-->
</script>
</head>
<body>
<form name="form1">
<table width="250" border="1">
<tr>
<td>商品1</td>
<td><input type="hidden" name="Kakaku_1" value="50000" />\50,000</td>
</tr>
<tr>
<td><select name="Select_1" onChange="Tanka_1(this.form)" >
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>点</td>
<td><input type="text" name="Syouhinn_1" value="0" />円</td>
</tr>
</table>
</form>
</body>
</html>
----------------------------------------------------------------
スクリプトの内容はプルダウンメニューで個数を選び、商品単価をかけた結果を表示するというもの。
ということで、onChangeのイベントが起きたら計算処理を行うというスクリプトを記述します。
onChangeの変数名はTanka_1。これを関数で定義します。
プルダウンメニューに個数をValueで設定し、evalで数値化したものを変数宣言したindexに代入。
商品の単価をevalで数値化し、indexの値を掛けることで、単価×個数の値がでるので、それをフィールドに表示します。
たぶん、もっといいやり方もあるんだと思うけど、私にはこれが限界。(^^;;
もっと勉強します。
Comments
今回は、自分がソースをUPしてしまったばっかりに、貴重なお時間を作っていただきありがとうございました!!
いやぁ~自分にとってはかなりしんどくて、今やっと休憩中です。。。
ソースには人それぞれ、イロイロな書き方があるんですね!!
上記ソースで一つだけ気になるのは、scriptに対し、非推奨であるlanguage属性が使われているので
スクリプトの宣言は
<script type="text/JavaScript">
ですね。
うっかりしててしまいましたー。(汗
自分のHPもlanguage属性でした。。。
今から修正かけます。。。
たぶんJavaScriptの参考サイト見たときに、 languageだったんでつい書いちゃったんだと思います。
修正がんばってください。
これはなんの暗号ですか;;
ってくらいわかんないよううう;;
がんばれ!←それしかいえない^^;
コピペして、html保存したらブラウザーで読んでみよー。w
たぶん、こんなスクリプトは一生使わない気もします。(苦笑
うおー。チェキしますっ!