質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1862閲覧

再:チェックボックスのチェックボックスの選択肢に応じて、表示する画像を変えたいです

Tomoaki_Fukuda

総合スコア75

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/09/28 15:17

①料金のセレクトボックスの¥1,000〜¥5,000の選択肢の場合に
"fathergift1.jpeg"の画像を「☆あなたへのおすすめプレゼントをここに表示します☆」の場所に表示させたいです。

下記のコードでは、エラーメッセージが出てしまうため、
IF文内のコードをご教示頂きたくお願い致します。

HTML

1コード
<!DOCTYPE html> <html lang = "ja"> <head> <meta charset="utf-8"> <title>プレゼント診断</title> <script type="text/javascript">

function hyoji(){
var price = document.getElementById("price").value;
if(price == "1000") {
document.writelen('<img src="fathergift1.jpeg">');
}else{
alert("製作中です。")
}
}

</script> </head> <body> <article> <h1>プレゼント診断</h1> <p><入力項目></p> <p>①料金: <select tabindex="5" id ="price"> <option value="1000" selected>¥1,000〜¥5,000</option> <option value="5000" >¥5,000〜¥10,000</option> <option value="10000" >¥10,000〜¥50,000</option> <option value="50000" >¥50,000〜¥100,000</option> <option value="100000" >¥100,000以上</option> </select> </p> <p> ②プレゼント用途: <input type="radio" name="purposes" value="girl">異性へ <input type="radio" name="purposes" value="family" >家族へ <input type="radio" name="purposes" value= "else">その他 </p>
<input type="button" value="表示する" onclick = "hyoji()"> <p><strong> --おすすめプレゼント--</strong></p> <div><img id = "result">☆あなたへのおすすめプレゼントをここに表示します☆</div> <h2>ログイン</h2> <P><input type="submit" value="新規登録"><input type="submit" value="ログイン"></P> <P>メールアドレス:<input type="email" name="email" size="50" placeholder="please enter emaill" ></P> <P>パスワード:<input type="password" name="password" size="50" placeholder="please enter password"></P>
</article> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rk7fd3s

2015/09/28 15:51

ページ下のヘルプを見て投稿の仕方を見ましょう。 どんなエラーが出るのか明示しましょう。
Tomoaki_Fukuda

2015/09/28 17:33

大変失礼致しました。 エラーメッセージは「Uncaught TypeError: document.writelen is not a function」です。 よろしくお願い致します。
guest

回答2

0

ベストアンサー

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>プレゼント診断</title> 6 <script type="text/javascript"> 7 window.onload = function () { 8 hyoji(); 9 }; 10 function hyoji() { 11 var opts = document.getElementById("price"); 12 for (var i = 0, i < opts.length; i++) { 13 if (opts[i].selected) { 14 var price = opts[i].value; 15 } 16 } 17 alert(price) 18 if (price == "1000") { 19 document.getElementById("result").src = 'fathergift1.jpeg'; 20 } else { 21 alert("製作中です。"); 22 23 } 24 } 25 </script> 26 </head> 27 <body> 28 <article> 29 <h1>プレゼント診断</h1> 30 <p><入力項目></p> 31 <p>①料金: 32 <select tabindex="5" id ="price"> 33 <option value="1000" selected>¥1,000〜¥5,000</option> 34 <option value="5000" >¥5,000〜¥10,000</option> 35 <option value="10000" >¥10,000〜¥50,000</option> 36 <option value="50000" >¥50,000〜¥100,000</option> 37 <option value="100000" >¥100,000以上</option> 38 </select> 39 </p> 40 <p> 41 ②プレゼント用途: 42 <input type="radio" name="purposes" value="girl">異性へ 43 <input type="radio" name="purposes" value="family" >家族へ 44 <input type="radio" name="purposes" value= "else">その他 45 </p> 46 47 <input type="button" value="表示する" onclick="hyoji()"> 48 49 <p><strong> --おすすめプレゼント--</strong></p> 50 <div><img id="result">☆あなたへのおすすめプレゼントをここに表示します☆</div> 51 52 <h2>ログイン</h2> 53 <p><input type="submit" value="新規登録"><input type="submit" value="ログイン"></p> 54 <p>メールアドレス:<input type="email" name="email" size="50" placeholder="please enter emaill" ></p> 55 <p>パスワード:<input type="password" name="password" size="50" placeholder="please enter password"></p> 56 </article> 57 </body> 58</html>

投稿2015/09/28 15:34

編集2015/09/28 16:04
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rk7fd3s

2015/09/28 15:56

スマホで見てるので試して無いですが、多分これが正解かもしれませんね。 priceが初期化されて無いのは気になりますが。 質問者に条件式が間違ってるのではなく、それに使用している変数の中身がおかしい事に気付いて貰えればオッケーかと。
退会済みユーザー

退会済みユーザー

2015/09/28 16:00 編集

今になって気づいたけど… <input type="button" value="表示する" onclick="hyoji()"> があるのだから、 window.onload = function () { hyoji(); }; は不要か。 それにしても、素のJavaScriptはめんどい…
Tomoaki_Fukuda

2015/09/28 17:59

<追加質問> ご回答誠にありがとうございます。一人で躓きながら進めている中でこのようなご支援は大変助かります。 一点追加で質問なのですが、上記ご回答頂いた内容で実行すると下記のエラー メッセージが出てしまうのですが、原因をお分かりになりますでしょうか? ①12行目:for (var i = 0, i < opts.length; i++) {  エラーメッセージ:Uncaught SyntaxError: Unexpected token ②48行目:<input type="button" value="表示する" onclick = "hyoji()">  エラーメッセージ:Uncaught ReferenceError: hyoji is not defined
退会済みユーザー

退会済みユーザー

2015/09/28 18:05

for (var i = 0, i < opts.length; i++) ↓ for (var i = 0; i < opts.length; i++)
think49

2015/09/29 03:28

To: Kosuke_Shibuyaさん document.getElementById("price"); は select 要素ノードを参照するのでその修正を加えても期待通りに動作しません。 option要素ノードは options プロパティで参照可能です。 が、元々の質問文のコードにあるように document.getElementById("price").value で参照可能なので options を走査する必要はないと思います。
退会済みユーザー

退会済みユーザー

2015/09/29 03:46

firefox では提示のコードで動作するようですが、他のブラウザだとダメ? var price = document.getElementById("price").value;
Tomoaki_Fukuda

2015/09/29 16:01

<お礼> 昨日は、深夜にもかかわらず誠にありがとうございました。 頂きました修正内容で再度トライしてみます。 取り急ぎお礼申し上げます。ご対応誠にありがとうございました!!
guest

0

document.writelen が存在しない為、TypeError を返します。
HTMLImageElement#src を使ってください。

img要素でsrc属性は必須属性であり、alt属性も例外を除いて指定する必要があります。
#price はデフォルトで 1009 が選択されるので 1000 を指定した場合のsrc属性値を記入してください。alt属性値も適切な値を入れてください。
The W3C Markup Validation Serviceでチェックするといいと思います。

js

1function hyoji () { 2 var price = document.getElementById('price').value; 3 4 if (price === '1000') { 5 document.getElementById('result').src = 'fathergift1.jpg'; 6 } else { 7 alert("製作中です。") 8 } 9}

投稿2015/09/29 03:24

think49

総合スコア18156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問