みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javascriptでラジオボタンのが変更できない

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;

}

投稿日時 - 2012-08-22 16:45:29

QNo.7657451

すぐに回答ほしいです

質問者が選んだベストアンサー

onclick属性を
onclick="on()"
から
onclick="on(this)"


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

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


//ロン項目設定

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

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

変えてみてください。

投稿日時 - 2012-08-22 23:29:52

お礼

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

投稿日時 - 2012-08-25 17:10:44

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問