アプリ版:「スタンプのみでお礼する」機能のリリースについて

javascriptを勉強中なのですが
練習で下記のような麻雀の計算をしてくれるサイトを作ってみましたがうまく反応しません。

http://tegarude.sakura.ne.jp/mafu/form.html

できない点は、例えば、ロンの項目で面前のチェックの時、ツモの項目にいいえが入りますが、
その後、ツモの項目で平和のチェックをいれようとしてもチェックが入りません。
javascriptで操作するようにしたのですがどうもうまくいきません。

単純なこと簡単なことなのかもしれませんが
どなたかご教授願えませんでしょうか?

ソースコードが長いのでjavascriptの記述のみ載せています。
サンプルのURLを参考にして下さい。

function on(){

//ロン・ツモ・待ち・雀頭の値を取得
function mjk01(m1,m2){
for (j=0; j<m1.length; j++){

if(m1[j].checked){
m2.innerHTML=m1[j].value;
}
}
}

mjk01(document.form1.radio2,document.getElementById("a00"));
mjk01(document.form1.radio3,document.getElementById("a01"));
mjk01(document.form1.radio4,document.getElementById("a02"));
mjk01(document.form1.radio5,document.getElementById("a03"));


//formプロパティの省略
formt=document.form1;

//ロン項目設定
if(formt.radio2[0].checked){
formt.radio3[3].checked=true;
formt.radio7[0].checked=true;
formt.radio9[0].checked=true;
formt.radio11[0].checked=true;
formt.radio13[0].checked=true;
}
if(formt.radio2[1].checked){
formt.radio3[3].checked=true;
formt.radio4[0].checked=true;
formt.radio5[2].checked=true;
formt.radio6[0].checked=true;
formt.radio8[0].checked=true;
formt.radio10[0].checked=true;
formt.radio12[0].checked=true;
}
if(formt.radio2[2].checked){
formt.radio3[3].checked=true;
}

//ツモ項目設定
if(formt.radio3[0].checked){
formt.radio2[3].checked=true;
formt.radio4[0].checked=true;
formt.radio5[2].checked=true;
formt.radio6[0].checked=true;
formt.radio8[0].checked=true;
formt.radio10[0].checked=true;
formt.radio12[0].checked=true;
}
if(formt.radio3[1].checked){
formt.radio2[3].checked=true;
formt.radio4[0].checked=true;
formt.radio5[2].checked=true;
}
if(formt.radio3[2].checked){
formt.radio2[3].checked=true;
}





//面子の設定

function mentsu(m1,m2,m3){

if(m1[0].checked){
m2[1].value=4;
m2[2].value=16;
m2[3].value=8;
m2[4].value=32;
}
if(m1[1].checked){
m2[1].value=2;
m2[2].value=8;
m2[3].value=4;
m2[4].value=16;
}
for(i=0; i<m2.length; i++){

if(m2[i].checked){
m3.innerHTML=m2[i].value;
}
}
}

mentsu(document.form1.radio7,document.form1.radio6,document.getElementById("a04"));
mentsu(document.form1.radio9,document.form1.radio8,document.getElementById("a05"));
mentsu(document.form1.radio11,document.form1.radio10,document.getElementById("a06"));
mentsu(document.form1.radio13,document.form1.radio12,document.getElementById("a07"));



//小計をすべて数字に変換
num0=document.getElementById("a00").innerHTML;
num1=document.getElementById("a01").innerHTML;
num2=document.getElementById("a02").innerHTML;
num3=document.getElementById("a03").innerHTML;
num4=document.getElementById("a04").innerHTML;
num5=document.getElementById("a05").innerHTML;
num6=document.getElementById("a06").innerHTML;
num7=document.getElementById("a07").innerHTML;
num0 = parseFloat(num0);
num1 = parseFloat(num1);
num2 = parseFloat(num2);
num3 = parseFloat(num3);
num4 = parseFloat(num4);
num5 = parseFloat(num5);
num6 = parseFloat(num6);
num7 = parseFloat(num7);

//総合計の算出
document.getElementById("total").innerHTML=num0+num1+num2+num3+num4+num5+num6+num7;

}

A 回答 (1件)

onclick属性を


onclick="on()"
から
onclick="on(this)"


function on(){
......
}

function on(target){
......
}


//ロン項目設定

//ツモ項目設定
のif文を

if(???.checked)
から
if(???===target)

変えてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。できました。これを元に勉強していきたいと思います

お礼日時:2012/08/25 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!