• ベストアンサー

JavaScriptのif文について質問したいのですが、

JavaScriptのif文について質問したいのですが、 <form>で文字を記入する欄に正しい文字を入力すると「正解」で違うと「不正解」というものにしたいのですが、やり方がわかりません。 仮に、 <form>の記入するらんに、答えが「▲□」とします。 そに「▲□」を<form>に記入して、「正解」「不正解」を表示したいのですが、 どうしたら・・・ ソースも記入して回答してください。 できれば、それに関するサイトも教えてください。(登録なし) おはやめに回答をお待ちしています。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

単純にやるとこんな感じ <script> function check(obj){ var seikai="▲□"; var kaito=obj.form.elements["kaito"].value; var hyoji=(kaito===seikai)?"正解":"不正解"; alert(hyoji); } </script> <form> <p> <input type="text" name="kaito" /> <input type="button" value="check" onclick="check(this)"/> </p> </form>

airu_Love
質問者

お礼

ご回答有難う御座います。 追加質問で、 この文はなぜ「if文」を使っていないのですか? 教えてください。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>この文はなぜ「if文」を使っていないのですか? おお、そういえばifの質問でしたね var hyoji=(kaito===seikai)?"正解":"不正解"; というのは三項演算といってやってることはこんなことです if(kaito===seikai){ hyoji="正解"; }else{ hyoji="不正解"; } ifで分岐して特定の変数に代入するときに使うやりかたです

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

三項演算子:? を調べれば解りますよ。 http://www.tohoho-web.com/js/operator.htm#cond より引用  exp1 ? exp2 : exp3 (e3/N2) exp1 が真であれば exp2 を、さもなくば exp3 を返します。 次の例は xx が 5 以上であれば "big"、さもなくば "small" を yy に代入します。  yy = (xx >= 5) ? "big" : "small";

関連するQ&A