[ ホームページ ] [ 携帯用URL ]
質問掲示板 「喫茶イヌでも」
イヌでもわかるJavaScript講座
質問掲示板 「喫茶 イヌでも」

[ EZBBS.NET | 新規作成 | ランキング | オプション ]
iモード&(絵文字)、au対応!ケータイからも返信できる無料掲示板!
名前
 E-mail 
題名
内容
投稿KEY    改行有効 等幅フォント
URL



1302.計算フォーム 返信  引用 
名前:foolish    日付:2013/05/27(月) 00:58
フォームに入力して全部足すだけの簡単な計算機を作っています
ですが、入力した数値が数字として認識されず1+1=11のようになってしまいます
Chromeで要素を見たら
Uncaught TypeError: Cannot read property 'value' of undefined Calculate879
onclick
と出ています
その他はエラーは出ていませんでした

http://webkc.web.fc2.com/lm/st.html
何度も見ましたが自分の知識では間違いを見つけられませんでした

どこを直せばいいのか教えてください
よろしくお願いします



1303.Re: 計算フォーム
名前:Tatsuya管理人    日付:2013/05/27(月) 12:14
フォームの内容は、文字列なので、数値に変換する必要があります。
(Number, parseInt, parseFloat、eval のいずれかを使います)

参照:リファレンス「数値操作」、Step14

Number(frm1.hpfirValue.value) + Number(frm1.hpsecValue.value)・・・
parseInt(frm1.hpfirValue.value) + ・・・


1304.Re: 計算フォーム
名前:foolish    日付:2013/05/28(火) 00:46
なるほど
ありがとうございます!
助かりました


1305.Re: 計算フォーム
名前:foolish    日付:2013/05/29(水) 20:33
度々すいません

アドバイスを頂いた通りに全部Number()に直したのですが・・・
右2列がうまく作動しませんorz

他と同じ形式で、()の抜け等も確認したんですが、やっぱり動きません・・・

間違ってるところを教えてください
よろしくお願いします


1306.Re: 計算フォーム
名前:Tatsuya管理人    日付:2013/05/30(木) 23:30
右2列だけが動かない。他は動く。となれば、
高確率で、変数の打ち間違いでしょう。
そして、やはり、
frm1.axotweValue.value

frm1.avotweValue.value


1307.Re: 計算フォーム
名前:foolish    日付:2013/05/31(金) 02:17
度々ありがとうございます
かなり確認したつもりだったんですが、打ち間違えてたんですね・・・
疲れてるのかな・・・

お陰様できちんと動くようになりました
本当にありがとうございました!

1300.JSを使ったweb計算フォームの作り方 返信  引用 
名前:ゆきうさぎ    日付:2013/05/19(日) 23:04
突然の質問で失礼いたします。
急ぎの対応が必要なのですが、相談相手がおらず、書き込みをさせていただきます。

下記のような計算フォームを作りたいと思っているのですが、
どのようにすればよいでしょうか。

単純な合計などは出来るのですが、場合分けなどと組み合わせた場合にどうしたら良いのかわかりません。

もし、可能でしたら、どのようなコードを書くのが正しいのかサンプルをご教示、もしくは参考にするStepなどをご教示いただけますと幸いです。

突然のお問い合わせで恐縮ですが、何卒よろしくお願いいたします。

----------------------------------------
【入力項目】

蛍光灯の本数
@20W___本 A60W___本 B110W___本 ←数値入力 

C1日あたりの使用時間
___時間 ←数値入力

D1ヶ月あたりの使用日数
___日 ←数値入力

E電気代
___円 ←数値入力だが、デフォルトは0.029が入っている(アクティブにするとブランクになる)


【計算結果】(以下、@、A、Bに数値が入力されている場合にそれぞれ表示)

20W × C___時間 = F(計算結果) W/日
60W × C___時間 = G(計算結果) W/日
110W × C___時間 = H(計算結果) W/日

FW/日 × D___日 = I(計算結果) W/月
GW/日 × D___日 = J(計算結果) W/月
HW/日 × D___日 = K(計算結果) W/月

IW/月 × E___円 ≒ L(計算結果) 円/月 (小数点第一位まで※四捨五入)
JW/月 × E___円 ≒ M(計算結果) 円/月 (小数点第一位まで※四捨五入)
KW/月 × E___円 ≒ N(計算結果) 円/月 (小数点第一位まで※四捨五入)

L円/月 × @本 = O(計算結果) 円/月
M円/月 × A本 = P(計算結果) 円/月
N円/月 × B本 = Q(計算結果) 円/月

(O円/月 + P円/月 + Q円/月) × 12ヶ月 = R(計算結果) 円/年


【改定後】(以下、@、A、Bに数値が入力されている場合にそれぞれ表示)


10W × C___時間 = F′(計算結果) W/日
18W × C___時間 = G′(計算結果) W/日
54W × C___時間 = H′(計算結果) W/日

F′W/日 × D___日 = I′(計算結果) W/月
G′W/日 × D___日 = J′(計算結果) W/月
H′W/日 × D___日 = K′(計算結果) W/月

I′W/月 × E___円 ≒ L′(計算結果) 円/月 (小数点第一位まで※四捨五入)
J′W/月 × E___円 ≒ M′(計算結果) 円/月 (小数点第一位まで※四捨五入)
K′W/月 × E___円 ≒ N′(計算結果) 円/月 (小数点第一位まで※四捨五入)

L′円/月 × @本 = O′(計算結果) 円/月
M′円/月 × A本 = P′(計算結果) 円/月
N′円/月 × B本 = Q′(計算結果) 円/月

(O′円/月 + P′円/月 + Q′円/月) × 12ヶ月 = R′(計算結果) 円/年


【差額】

R円/年 − R′円/年 = S(計算結果)円/年


【費用】

(@本+A本+B本)×5200円 =(計算結果)円

----------------------------------------



1301.Re: JSを使ったweb計算フォームの作り方
名前:Tatsuya管理人    日付:2013/05/20(月) 01:22
計算結果は、表示すべきケースの文字列(タグ)を作成して、
innerHTML でしかるべき位置に表示させてはいかがですか?

innerHTML は Step.44, Step.54

1297.指定日付の曜日が上手く取れません。 返信  引用 
名前:ナツキ    日付:2013/05/17(金) 17:24
先日は有り難うございました。
おかげさまで、コーディングを進めることが出来ました。

今回は、昨日、今日、明日の日付と曜日を特定のフォーマットで出力する関数を組もうと考えて下記のコードを組んでみたのですが、何故か曜日だけうまく取れないのです。
// dateFormat 関数の定義
function dateFormat(Rdate,mode) {
var date = new Date(Rdate[0],Rdate[1],Rdate[2]);
var y = date.getFullYear();
var m = date.getMonth();
var d = date.getDate();
var w = date.getDay();
var wNames = ['日', '月', '火', '水', '木', '金', '土'];

m = ('0' + m).slice(-2);
d = ('0' + d).slice(-2);

// フォーマット整形済みの文字列を戻り値にする
switch(mode){
case 1:
return y + m + d + '(' + wNames[w] + ')';
break;
case 2:
return y + m + d + '(' + wNames[w] + ')';
break;
case 3:
return y + m + d;
break;
}
}
----------------------
どうも、「gatDay()」の戻り値がおかしいようなのです。それ以外は全て正常な値が取れているのに、なぜこれだけおかしな値になるのでしょうか…?



1298.Re: 指定日付の曜日が上手く取れません。
名前:ナツキ    日付:2013/05/17(金) 17:55
誠に申し訳ありません。自己解決致しました。またしても初歩的なミスでした。
Date(Rdate[0],Rdate[1],Rdate[2]);
=>Date(Rdate[0]+"/"+Rdate[1]+"/"+Rdate[2]);
これと、
date.getMonth();
=>date.getMonth()+1;
この2カ所でした。
板汚し、誠に申し訳ありませんでした。

あちこちのWEBサイトを巡って調べていたのですが、Date()に入れる引数については修正前の記述法のサイトもあれば、修正後の記述法のサイトもあるんですよね…。勉強になりました。


1299.Re: 指定日付の曜日が上手く取れません。
名前:Tatsuya管理人    日付:2013/05/18(土) 05:24
Date(Rdate[0],Rdate[1],Rdate[2]);

Date(Rdate[0], Rdate[1]-1, Rdate[2] );

月は 0月〜11月。
1引くのを忘れたり、

=>date.getMonth()+1;
1足すのを忘れるのは、誰でも一度はやっちゃいますよね^^;

1293.(untitled) 返信  引用 
名前:ナツキ    日付:2013/05/16(木) 01:45
検索から直接来た為、「TAB入力」の注意書きが読めてませんでした・・・。
function disp(irumono){
var j=0;
for(j=0;j<irumono.length;j++){
if(irumono[j] == "undefined"){continue;}
var i=0;
for(i=0;i<ary.length;i++){
if(ary[i][0] == "undefined"){continue;}
if(ary[i][0]==irumono[j]){
document.write("<a href=");
document.write("\"" + ary[i][2] + "\"");
document.write(" target=\"_blank\">");
document.write(ary[i][1]);
document.write("</a><br>");
}
}
}
}
表示用HTML-----------------
<script type="text/javascript" src="./script/linkdb.js"></script>
<script type="text/javascript">
//linkdb.jsをメモ帳で開き、必要なリンクの番号をカンマ区切りで入力。

var a=[1,0];
var b=[0,1];
var c=[0];
var d=[1,0];
var e=[0,1];
var f=[1];
document.write(disp(a));
</script>
※そのほか、表示させたい位置にdisp(配列)の形式でScriptタグを埋め込む。

以上がソースコードとなります。

プログラミング自体初心者故、恐らくかなり初歩的なところでつまずいているのかと思いますが、何卒ご教授願います。



1294.Re: (untitled)
名前:ナツキ    日付:2013/05/16(木) 02:08
補足として、やりたいことなのですが…。
linkdb.js:リンクデータベース及び表示用関数
表示用HTML:ユーザー毎に用意。リンク番号を配列かつ引数にし、表示したい場所にて、表示用関数を呼び出す。
注)従来はLANに繋がった複数の端末からNAS内の個人フォルダにショートカットを持っていたのですが、これをキロバイト単位でデータ量の節約を行いたいということになり、方策の一つとして検討している状況です。

旧版として、aryの要素番号(0,1,2…n)をリンク番号として
「ary[a[i]][1]」の様にして呼び出した場合は上手くいっていたのですが、リンク番号を続き番号にしか出来ず、リンク番号を「a13」等自由に採番できるようにしたいと考えております。そうしてソースを書き換えていたら、「undefined」表示がつきまとう事態となってしまいました。


1295.Re: (untitled)
名前:Tatsuya管理人    日付:2013/05/16(木) 05:52
document.write(disp(a));

disp(a);

だと思われます。
寝起きで30秒ほどしかソースを眺めていませんが^^;


1296.Re: (untitled)
名前:ナツキ    日付:2013/05/16(木) 09:09
Tatsuya管理人>
有り難うございます。確かに、当該箇所を修正したところ表示が消えました。考えてみればdisp関数内でdocument.writeを呼び出しているので、disp関数を呼び出す箇所で改めてこれを記載する意味は無いのかもです…。
誠に有り難うございました。

1290.「undefined」が表示されるのです 返信  引用 
名前:ナツキ    日付:2013/05/16(木) 01:32
質問よろしいでしょうか。
JavaScriptを用いたリンク集を作ろうと考えておりまして、配列を使用したものを試作したのですが、何故か意図した結果の後「undefined」の1行が表示されるのです。F12ツールでステップ実行させても余計に実行しているようには見えず、知恵をお借りしたいのです。
linkdb.js------------------------------
var ary=[
[0,"名前1","URL1"],
[1,"名前2","URL2"],
[2,"名前3","URL3"]
];
//配列の形式:[リンク番号,表示文字列,URL]

function disp(irumono){
var j=0;

for(j=0;j<irumono.length;j++){



1291.Re: 「undefined」が表示されるのです
名前:ナツキ    日付:2013/05/16(木) 01:34
ソースの続き・・・
function disp(irumono){
var j=0;

for(j=0;j<irumono.length;j++){


1292.Re: 「undefined」が表示されるのです
名前:ナツキ    日付:2013/05/16(木) 01:35
連投すみません。何故か上手くソースコードを掲載できず・・・。


ページ: << 2 3 4 5 6 7 8 9 10 11 >> >| 

無料アクセス解析

アクセス解析の決定版!無料レンタルで最大100ページ解析!

   投稿KEY
   パスワード

EZBBS.NET produced by InsideWeb