Stackoverflowで多くの賛成を得た米ドルの数値をフォーマットするためのこのJavaScriptコードがあります。最新のWebブラウザーでは正常に機能しますが、IE7ではJavaScriptが失敗します。このプロジェクトの残りの部分ではJQueryを使用していないため、JQueryを必要としない関数を使用しようとしました。
function formatDollar(num) {
var p = num.toFixed(2).split(".");
return "$" + p[0].split("").reverse().reduce(function(acc, num, i, orig) {
return num + (i && !(i % 3) ? "," : "") + acc;
}, "") + "." + p[1];
}
ユーザーへのIE7は単に「ページ上のエラー」と言います。IE7のデバッグモードでは、OnClick行で送信されるフォームのオブジェクトとして期待されていないと不平を言います。上記の関数を削除して、フォーマットせずに数値を渡すようにすると、IE7で機能します。また、最初の「return」で始まる行についても文句を言います。JavaScriptから他のすべてを削除しましたが、この関数が原因です。