javascriptを使用して簡単なツールを作成したいです。
先日、javascriptについて質問をさせて頂き、ほとんど完成まで至ったのですが、検索ボタンを押した際に、結果が<input type="text" size="16" name="waku">枠部分に表示させるようにするにはどのようにしたら良いのでしょうか?リセットを押した時に、表示された文も消えるようにしたいです。また、表示させる文字の色を変えたい場合はどのようにすればいいのか教えてください。度々で申し訳ありませんが、再度文を教えて頂けると助かります。お願い致します。
現状このような感じです。
<!DOCTYPE html>
<html lang="ja">
<head>
<title>サンプル</title>
</head>
<body>
<h1>サンプル</h1>
<script>
function ryouri(f){
var list={
"卵":{"焼く":"目玉焼き","ゆでる":"ゆで卵"},
"じゃがいも":{"焼く":"焼きイモ","蒸す":"ふかしイモ"},
"にんじん":{}
};
var zairyo=f.elements["zairyo"].value;
var chouri=f.elements["chouri"].value;
var text="";
if(typeof(list[zairyo])=="undefined" || typeof(list[zairyo][chouri])=="undefined"){
text="未設定";
}else{
text=list[zairyo][chouri];
}
document.getElementById("viewspace").innerHTML=text;
return false;
}
</script>
<form onsubmit="return ryouri(this);">
<select name="zairyo">
<option value="">== 材料 ==</option>
<option value="卵">卵</option>
<option value="じゃがいも">じゃがいも</option>
<option value="にんじん">にんじん</option>
</select><br><br>
<select name="chouri">
<option value="">== 調理 ==</option>
<option value="焼く">焼く</option>
<option value="ゆでる">ゆでる</option>
<option value="蒸す">蒸す</option>
</select><br><br>
<input type="submit" name="search" value=" 検索" />
<input type="reset" value="リセット">
<div id="viewspace"></div>
<br>
<input type="text" size="16" name="waku">
</form>
</body>
</html>
No.5ベストアンサー
- 回答日時:
><div id="viewspeace">ここに表示</div>
>リセットボタンを押すと表示された文を消す
divタグはフォームから直接参照できないので、idを指定して中身を書き換えます
onresetがつかえるでしょう
<script>
function ryouri(f){
var list={
"卵":{"焼く":"目玉焼き","ゆでる":"ゆで卵"},
"じゃがいも":{"焼く":"焼きイモ","蒸す":"ふかしイモ"},
"にんじん":{}
};
var zairyo=f.elements["zairyo"].value;
var chouri=f.elements["chouri"].value;
var text="";
if(typeof(list[zairyo])=="undefined" || typeof(list[zairyo][chouri])=="undefined"){
text="未設定";
}else{
text=list[zairyo][chouri];
text+="\n味付けは・・・";
}
f.elements["waku"].value=text;
document.getElementById("waku").innerHTML=text;
return false;
}
function reset_waku(){
document.getElementById("waku").innerHTML="";
}
</script>
<form onsubmit="return ryouri(this);" onreset="reset_waku();">
<select name="zairyo">
<option value="">== 材料 ==</option>
<option value="卵">卵</option>
<option value="じゃがいも">じゃがいも</option>
<option value="にんじん">にんじん</option>
</select><br><br>
<select name="chouri">
<option value="">== 調理 ==</option>
<option value="焼く">焼く</option>
<option value="ゆでる">ゆでる</option>
<option value="蒸す">蒸す</option>
</select><br><br>
<input type="submit" name="search" value=" 検索" />
<input type="reset" value="リセット">
<br>
<textarea size="20" name="waku" style="width:200px;height:50px;color:red;"></textarea>
<div id="waku"style="white-space:pre;color:blue;"></div>
</form>
何度も何度も本当にありがとうございました!!
物凄く助かりました!
本当にすごいですね!!
また、困った時は助けて頂けると嬉しいです!
ありがとうございました!
No.6
- 回答日時:
<!DOCTYPE html>
<html lang="ja">
<head>
<title>サンプル</title>
</head>
<body>
<h1>サンプル</h1>
<style type="text/css">
textarea {
resize: none;
}
</style>
<script>
function ryouri(f){
var list={
"卵":{"焼く":"目玉焼き","ゆでる":"ゆで卵"},
"じゃがいも":{"焼く":"焼きイモ","蒸す":"ふかしイモ"},
"にんじん":{}
};
var iro={
"目玉焼き":"red",
"ゆで卵":"lime",
"焼きイモ":"green",
"ふかしイモ":"blue"
};
var zairyo=f.elements["zairyo"].value;
var chouri=f.elements["chouri"].value;
var txt="";
if(typeof(list[zairyo])=="undefined" || typeof(list[zairyo][chouri])=="undefined"){
txt="未設定";
}else{
txt=list[zairyo][chouri];
}
var obj=document.getElementsByName("waku")[0];
if(typeof(iro[txt])=="undefined") {
obj.style.color="black";
} else {
obj.style.color=iro[txt];
}
obj.value="味付けは・・・\n"+txt;
return false;
}
</script>
<form onsubmit="return ryouri(this);">
<select name="zairyo">
<option value="">== 材料 ==</option>
<option value="卵">卵</option>
<option value="じゃがいも">じゃがいも</option>
<option value="にんじん">にんじん</option>
</select><br><br>
<select name="chouri">
<option value="">== 調理 ==</option>
<option value="焼く">焼く</option>
<option value="ゆでる">ゆでる</option>
<option value="蒸す">蒸す</option>
</select><br><br>
<input type="submit" name="search" value=" 検索" />
<input type="reset" value="リセット">
<br>
<textarea cols="16" rows="2" name="waku" readonly></textarea>
</form>
</body>
</html>
御回答ありがとうございます!
みなさん本当にすごいです!!
迷ったのですが、一番最初に回答頂いた方をベストアンサーとさせて頂きます
No.4
- 回答日時:
>文を改行して表示させたい
inputタグでは改行は無理、テキストエリアで処理してください
ざっくりこんな感じ・・・
<script>
function ryouri(f){
var list={
"卵":{"焼く":"目玉焼き","ゆでる":"ゆで卵"},
"じゃがいも":{"焼く":"焼きイモ","蒸す":"ふかしイモ"},
"にんじん":{}
};
var zairyo=f.elements["zairyo"].value;
var chouri=f.elements["chouri"].value;
var text="";
if(typeof(list[zairyo])=="undefined" || typeof(list[zairyo][chouri])=="undefined"){
text="未設定";
}else{
text=list[zairyo][chouri];
text+="\n味付けは・・・";
}
f.elements["waku"].value=text;
return false;
}
</script>
<form onsubmit="return ryouri(this);">
<select name="zairyo">
<option value="">== 材料 ==</option>
<option value="卵">卵</option>
<option value="じゃがいも">じゃがいも</option>
<option value="にんじん">にんじん</option>
</select><br><br>
<select name="chouri">
<option value="">== 調理 ==</option>
<option value="焼く">焼く</option>
<option value="ゆでる">ゆでる</option>
<option value="蒸す">蒸す</option>
</select><br><br>
<input type="submit" name="search" value=" 検索" />
<input type="reset" value="リセット">
<br>
<textarea size="20" name="waku" style="width:200px;height:50px;color:red;"></textarea>
</form>
No.3
- 回答日時:
>表示の文字色を変えたい時はどうすれば良いですか?
どこの文字色を、どのように変えたいのでしょうか?
たとえばwakuのところを赤くするなら
<input type="text" size="16" name="waku" id="waku">
などidを振っておいて、スタイルシートなどで色をつけます
<style>
#waku{color:red;}
</style>
※スタイルシートを外部化したりもできます
No.1
- 回答日時:
>document.getElementById("viewspace").innerHTML=text;
のところを、こうする
f.elements["waku"].value=text;
当然、
><div id="viewspace"></div>
の個所もいらなくなるので削る
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<tr>指定した表の行要素をボ...
-
初心者です。gulpでコンパイル...
-
セレクトを全て選択されていな...
-
jQueryで同じクラス名のものを...
-
前回の質問の続き function mov...
-
前回の質問の続き function mou...
-
このプログラムに王様の逃げ道...
-
読み込んだQRコードをフォーム...
-
スマホ上で、左右スワイプで次...
-
その要素がjQueryでremove()済...
-
食材の期限を管理するためにGAS...
-
このプログラムに、王手をかけ...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
このプログラムに王様の逃げ道...
-
初心者です。gulpでコンパイル...
-
前回の質問の続き function mou...
-
鍵盤アプリで、スマホの画面に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
読み込んだQRコードをフォーム...
-
追加ボタンを押した際に ok ボ...
-
Colorboxがうまく設置できません
-
階層別の組織図の自動作成について
-
二次元配列を使って順位をだす...
-
【GAS】WEBアプリでハイパーリ...
-
HTMLで作った時報アプリが動き...
-
セレクトを全て選択されていな...
-
画面遷移を行わずに同一ページ...
-
jsで質問です。 ボタンが二つ存...
おすすめ情報
度々の御回答ありがとうございます!
何度も申し訳ありませんが、リセットを押すと、枠の表示内容も消えるようにするにはどのようにしたら良いのでしょうか?
大変申し訳ありませんでした(;O;)
ちゃんと消えました!ありがとうございます!!
本当にいろいろ申し訳ないのですが、
表示の文字色を変えたい時はどうすれば良いですか?
回答本当にありがとうございます!
文字の色をつけたいのは、
var list={
"卵":{"焼く":"目玉焼き","ゆでる":"ゆで卵"},
「目玉焼き」や「ゆで卵」の部分です。
また、
<input type="text" size="20"name="waku" style="width:200px;height:50px;">
の部分に表示させる「目玉焼き」に「味付けは・・・」の文を改行して表示させたいのですが、<br>を使用してもそのまま表示されてしまいます。
どのようにしたらよいのでしょうか?
本当に度々すいません(:_;)
回答本当にありがとうございます!!
ちなみになんですが、一番最初に教えていただいた、
<div id="viewspeace">ここに表示</div>
余りのスペースに表示されるものですが、こちらもリセットボタンを押すと表示された文を消すことは可能なのでしょうか?
消すにはどのようにしたらよいのかぜひ知りたいです。
大変じゃなければ、教えて頂きたいです!