本当の電卓よりはずっと、使いやすい電卓です。javascript の関数の1つに、eval という数式を計算してしまう便利な関数がありますが、このスクリプトではその関数を直接的に利用することはしていません。
eval という関数は大変便利ですが、指定された文字列を数式として認識できない場合にはエラーが発生しますので、注意が必要です。このスクリプトでは、入力された2つの文字列を数値に変換するためだけに、eval 関数を利用していますが、そこでもエラー発生に対処する必要があるため、埋め込んでいるスクリプトの一番最初に、エラーハンドラー関数を設定(window.onerror=dummy;)しています。エラーハンドラーの記述位置には、微妙な注意が必要なようです。
また、ラジオボタンが自動出来に配列化されるという点も、javascript の特徴です。
エラーハンドラー部分
<script language="JavaScript">
<!--
window.onerror=dummy;
function dummy(){
document.form.txtAns.value="半角の数字を入力して下さい";
return true;
}
-->
</script>
計算関数部分
<script language="JavaScript">
<!--
function calc(){
var var1,var2;
with (document.form){
if (T1.value=="" || T2.value==""){
return;
}
var1=eval(T1.value);
var2=eval(T2.value);
if (R1[0].checked == true ) {
txtAns.value=var1+var2;
return;
};
if (R1[1].checked == true ) {
txtAns.value=var1-var2;
return;
};
if (R1[02].checked == true ) {
txtAns.value=var1*var2;
return;
};
if (R1[03].checked == true ) {
if (eval(T2.value)!=0 ) {
txtAns.value=var1/var2;
};
};
}
}
-->
</script>