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

下記プログラムは、自分の勉強用で作ったものですが、
解答ボタンを押して正解し、alertウィンドウを閉じた瞬間に
説明文のsm1,sm2,sm3をhtml上に追加表示するには
どこをどう直したらいいのでしょうか?
よろしくお願いいたします。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language="JavaScript">
<!--
var sm1;
var sm2;
var sm3;

function kaitou1(){
if(document.myForm.ans1.value == "number"){
alert("正解です");
sm1 = "number型とは~";
}else{
alert("違います");
}
}
function kaitou2(){
if(document.myForm.ans2.value == "string"){
alert("正解です");
sm2 = "string型とは~";
}else{
alert("違います");
}
}
function kaitou3(){
if(document.myForm.ans3.value == "boolean"){
alert("正解です");
sm3 = "boolean型とは~";
}else{
alert("違います");
}
}
//-->
</script>
</head>
<body>
<p style="width:330px; padding:5px; background-color:#ddd">変数の基本的なデータ型には3つあります。<br>
それら3つは何でしょう?<br>
下記○○に半角英数字で入力して下さい。</p>
<form name="myForm">
<p>数値を表す○○型 ⇒ 
<input type="text" size="20" name="ans1">
<input type="button" value="解答" onclick="kaitou1()">
</p>
<p>文字列を表す○○型 ⇒ 
<input type="text" size="20" name="ans2">
<input type="button" value="解答" onclick="kaitou2()">
</p>
<p>真偽を表す○○型 ⇒ 
<input type="text" size="20" name="ans3">
<input type="button" value="解答" onclick="kaitou3()">
</p>
</form>
<script language="JavaScript">
<!--
document.write("<p>"+sm1+"</p>");
document.write("<p>"+sm2+"</p>");
document.write("<p>"+sm3+"</p>");
//-->
</script>
</body>
</html>

A 回答 (1件)

◆上部javasccript


function kaitou1(){
if(document.myForm.ans1.value == "number"){
alert("正解です");
sm1 = "number型とは~";
document.getElementById("ans_sm1").innerHTML = sm1; #追加
}else{
alert("違います");
}
}
function kaitou2(){
if(document.myForm.ans2.value == "string"){
alert("正解です");
sm2 = "string型とは~";
document.getElementById("ans_sm2").innerHTML = sm2; #追加
}else{
alert("違います");
}
}
function kaitou3(){
if(document.myForm.ans3.value == "boolean"){
alert("正解です");
sm3 = "boolean型とは~";
document.getElementById("ans_sm3").innerHTML = sm3; #追加
}else{
alert("違います");
}
}


◆下部javascript部分
<script language="JavaScript">~</script>部分を削除し、代わりに

<p id="ans_sm1"></p>
<p id="ans_sm2"></p>
<p id="ans_sm3"></p>

を記述


○解説
(1) あらかじめ表示用のHTMLオブジェクトを用意(<p id="ans_sm1"></p>部分)
(2) 正解したときにinnerHTMLで(1)のオブジェクトに文字列/HTMLコードを挿入
  ・オブジェクトはgetElementByIdで取得
  ・<p id="ここ"> と getElementById("ここ") は紐づきます
    • good
    • 0
この回答へのお礼

完璧です。
とても参考になりました。
有難うございます。

お礼日時:2011/04/23 00:39

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