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

解決済みの質問

javascript クイズ

こちらの http://okwave.jp/qa/q4105194.html
回答のNo.4の回答者様のソースコードなのですが

<html>
<head><style>.hid{display:none} .disp{display:block}</style></head>
<body>
<div id="s0">Start!!<input type="button" value="click" onClick="view();$('s0').className='hid';"></div>
<div id="mn"></div>
<div id="s1" class="hid">
Q1.どれを選ぶ?
<input type="button" value="A" onClick="seikai()">
<input type="button" value="B" onClick="hazure()">
<input type="button" value="C" onClick="hazure()">
</div>
<div id="s2" class="hid">
Q2.どれを選ぶ?
<input type="button" value="A" onClick="seikai()">
<input type="button" value="B" onClick="hazure()">
<input type="button" value="C" onClick="hazure()">
</div>
<div id="s3" class="hid">
Q3.どれを選ぶ?
<input type="button" value="A" onClick="seikai()">
<input type="button" value="B" onClick="hazure()">
<input type="button" value="C" onClick="hazure()">
</div>
<div id="s4" class="hid">
Q4.どれを選ぶ?
<input type="button" value="A" onClick="seikai()">
<input type="button" value="B" onClick="hazure()">
<input type="button" value="C" onClick="hazure()">
</div>
<div id="s5" class="hid">
Q5.どれを選ぶ?
<input type="button" value="A" onClick="seikai()">
<input type="button" value="B" onClick="hazure()">
<input type="button" value="C" onClick="hazure()">
</div>
<div id="hz" class="hid">
はずれでした!
<input type="button" value="次に進む" onClick="nextq()">
</div>
<div id="sk" class="hid">
正解です!
<input type="button" value="次に進む" onClick="nextq()">
</div>

<script>
var n=3;
var q=5;
var f=[];
var l=[];
var c=0;
var cntc=0;

window.onload=function(){
for(var i=0;i<n;i++){ do x=Math.floor(Math.random()*q)+1; while(f[x]) f[x]=true;l[i]=x; }
}
function view(){$('s'+l[c]).className='disp';$('mn').innerHTML=c+1+"問目";}
function $(o){ return document.getElementById(o); }
function hazure(){ $('hz').className='disp';}
function seikai(){ $('sk').className='disp'; cntc++;}
function nextq(){
$('sk').className='hid';
$('hz').className='hid';
$('s'+l[c]).className='hid';
if(++c>=n) owari(); else view();
}
function owari(){
$('mn').innerHTML='正解数は、'+cntc;
}
</script>

このままですと正解と不正解のボタンがそれぞれ一回ずつ押せてしまいます
これを正解、不正解のどちらか一回しか押せないようにするにはどうすればよろしいでしょうか?
よろしくお願いします。

投稿日時 - 2014-07-04 15:49:36

QNo.8664684

すぐに回答ほしいです

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

方法はいろいろあると思いますが、簡単そうなのは…


1)一度クリックしたら他のボタンをdisabledにする

2)「次に進む」ボタンが表示されている時は、スクリプト側で判別して
  処理を行わない

などなど・・・


閲覧者にわかるという点で、1)のような方法がよいのではないでしょうか。

投稿日時 - 2014-07-04 17:21:36

補足

回答ありがとうございます。
disabledを試して見たのですが中々上手くいきません。
よろしければソース等でご教授願えませんでしょうか。

投稿日時 - 2014-07-04 20:39:55

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

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

回答(2)

ANo.2

Promiseを使ってもいいかもしれませんね。
Promiseは一度解決するとそれっきりなので。

投稿日時 - 2014-07-04 18:11:03

お礼

disabledを使用して解決いたしました。
回答ありがとうございました。

投稿日時 - 2014-07-05 00:23:24

あなたにオススメの質問