人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptを利用した注文フォームで表示される金額の3桁ごとにカンマを入れたいと思っています。

前回このような質問をさせていただき、上手に表示する方法を教えていただきました。
http://q.hatena.ne.jp/1176299030

http://www.hkky.com/keisan02.html
さらに、このようなページで、単価と合計の部分の数値に対して、3桁ごとにカンマを入れるようにしたいです。

検索してみると、以下のようなコードを見つけたのですが、どのように使えばいいのかが分かりませんでした。

function figout( n ) {
var l, m = '';
n = '' + n;
while ( (l = n.length) > 3 ) {
m = "," + n.substr( l - 3, 3 ) + m;
n = n.substr( 0, l - 3 );
}
n = '' + n + m;
return n;
}

先ほどの注文フォームにおいて、JavaScriptを利用してうまく3桁ごとのカンマを入れる方法を教えていただけるとうれしいです。
どうぞよろしくお願いいたします。

●質問者: pitagora
●カテゴリ:インターネット ウェブ制作
✍キーワード:JavaScript コード 検索
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● aside
●50ポイント

<SCRIPT TYPE='text/javascript'></p> <p><!--</p> <p>function chgContinue(sel){</p> <p>if( sel.value =="yes"){</p> <p>document.getElementById('price').value= "4500";</p> <p>}else{</p> <p>document.getElementById('price').value= "5000";</p> <p>}</p> <p>chgQty();</p> <p>document.getElementById('price').value = figout(document.getElementById('price').value);</p> <p>}</p> <p>function chgQty(){</p> <p>document.getElementById('goukei').value = figout(document.getElementById('price').value.replace(",","") * document.getElementById('qty').value);</p> <p>}</p> <p>function figout(n) {</p> <p>var l, m = '';</p> <p>n = '' + n;</p> <p>while ( (l = n.length) > 3 ) {</p> <p>m = "," + n.substr( l - 3, 3 ) + m;</p> <p>n = n.substr( 0, l - 3 );</p> <p>}</p> <p>n = '' + n + m;</p> <p>return n;</p> <p>}</p> <p>function _onload() {</p> <p>document.getElementById('price').value = figout("5000");</p> <p>}</p> <p>//--></p> <p></SCRIPT>

<title>計算</title>

</head>

<body onload="_onload()">

一応こいつの上書きで動作するっぽいです

http://q.hatena.ne.jp/

◎質問者からの返答

どうもありがとうございます!

下の書き込みにまとめて返信させていただきました(^^)


2 ● aside
●50ポイント ベストアンサー

function chgContinue(sel){

if( sel.value =="yes"){

document.getElementById('price').value= "4500";

}else{

document.getElementById('price').value= "5000";

}

chgQty();

document.getElementById('price').value = figout(document.getElementById('price').value);

}

function chgQty(){

document.getElementById('goukei').value = figout(document.getElementById('price').value.replace(",","") * document.getElementById('qty').value);

}

function figout(n) {

var l, m = '';

n = '' + n;

while ( (l = n.length) > 3 ) {

m = "," + n.substr( l - 3, 3 ) + m;

n = n.substr( 0, l - 3 );

}

n = '' + n + m;

return n;

}

function _onload() {

document.getElementById('price').value = figout("5000");

}

pタグが邪魔になってエラーでますね、もうしわけない

javascript部分だけ抜き出しました。

あと、body部分を<body onload="_onload()">にすればうごくはず

◎質問者からの返答

asideさん、2回も投稿していただいて、さらに見やすく書き直していただいて、どうもありがとうございます。

ソースをそのまま利用することで無事に動作させることができました。

貴重なお時間を使って答えていただき、本当にありがとうございました(^^)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ