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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

Q&A

解決済

1回答

667閲覧

プルダウンで駅と駅を選択して運賃を出すプログラムを2個以上同時に出したいです。

sembokulove

総合スコア76

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

0グッド

0クリップ

投稿2022/08/04 10:43

1つ目のjs。
function semboku_kotae()
{
semboku_ten=0
if((semboku_f.semboku_q1.value == "中百舌鳥"&&semboku_f.semboku_q2.value == "深井")||(semboku_f.semboku_q1.value == "深井"&&semboku_f.semboku_q2.value == "中百舌鳥"))
{semboku_f.semboku_q1.style.backgroundColor="aqua ";semboku_ten = semboku_ten + 3.7}

else if((semboku_f.semboku_q1.value == "光明池"&&semboku_f.semboku_q2.value == "和泉中央")||(semboku_f.semboku_q1.value == "和泉中央"&&semboku_f.semboku_q2.value == "光明池"))
{semboku_f.semboku_q1.style.backgroundColor="aqua ";semboku_ten = semboku_ten + 2.2}
else semboku_f.semboku_q1.style.backgroundColor="red"
semboku_f.semboku_tokuten.value=semboku_ten
//ここから
if(semboku_f.semboku_tokuten.value<2){semboku_f.semboku_rank.value='普通券\n170(90)\n回数券\n1,700(900)\n定期(通勤)\n1か月_6,540(3,270)\n3か月_18,640(9,320)\n6か月_35,320(17,660)\n定期(通学)\n1か月_3,030(1,520)\n3か月_8,640(4,320)\n6か月_16,370(8,190)'}
else if((semboku_f.semboku_tokuten.value<4)&&(!((semboku_f.semboku_q1.value == "光明池"&&semboku_f.semboku_q2.value == "和泉中央")||(semboku_f.semboku_q1.value == "和泉中央"&&semboku_f.semboku_q2.value == "光明池"))))
{semboku_f.semboku_rank.value='普通券\n190(100)\n回数券\n1,900(1,000)\n定期(通勤)\n1か月_7,360(3,680)\n3か月_20,980(10,490)\n6か月_39,750(19,880)\n定期(通学)\n1か月_3,400(1,700)\n3か月_9,690(4,850)\n6か月_18,360(9,180)'}

<!--特例-->

else if((semboku_f.semboku_tokuten.value<15)&&((semboku_f.semboku_q1.value == "中百舌鳥"&&semboku_f.semboku_q2.value == "和泉中央")||(semboku_f.semboku_q1.value == "和泉中央"&&semboku_f.semboku_q2.value == "中百舌鳥")))
{semboku_f.semboku_rank.value='普通券\n330(170)\n回数券\n3,300(1,700)\n定期(通勤)\n1か月_13,100(6,550)\n3か月_37,340(18,670)\n6か月_70,740(35,370)\n定期(通学)\n1か月_6,050(3,030)\n3か月_17,250(8,630)\n6か月_32,670(16,340)'}

//ここまで
}
2つ目のjs
function hanwa_kotae()
{
hanwa_ten=0
if((hanwa_f.hanwa_q1.value == "北信太"&&hanwa_f.hanwa_q2.value == "信太山")||(hanwa_f.hanwa_q1.value == "信太山"&&hanwa_f.hanwa_q2.value == "北信太"))
{hanwa_f.hanwa_q1.style.backgroundColor="aqua ";hanwa_ten = hanwa_ten + 1.4}
else if((hanwa_f.hanwa_q1.value == "北信太"&&hanwa_f.hanwa_q2.value == "和泉府中")||(hanwa_f.hanwa_q1.value == "信太山"&&hanwa_f.hanwa_q2.value == "和泉府中"))
{hanwa_f.hanwa_q1.style.backgroundColo="aqua ";hanwa_ten = hanwa_ten + 2.9}
else if((hanwa_f.hanwa_q1.value == "信太山"&&hanwa_f.hanwa_q2.value == "和泉府中")||(hanwa_f.hanwa_q1.value == "和泉府中"&&hanwa_f.hanwa_q2.value == "信太山"))
{hanwa_f.hanwa_q1.style.backgroundColor="aqua ";hanwa_ten = hanwa_ten + 1.5}
else hanwa_f.hanwa_q1.style.backgroundColor="red"
hanwa_f.hanwa_tokuten.value=hanwa_ten

//ここから
if(hanwa_f.hanwa_tokuten.value<3){hanwa_f.hanwa_rank.value='普通券\n130(60)\n回数券\nnull(null)\n定期(通勤)\n1か月_3,960(null)\n3か月_11,330(null)\n6か月_19,020(null)\n定期(通学)\n1か月_2,300(null)\n3か月_6,590(null)\n6か月_12,480(null)'}
//ここまで
else {hanwa_f.hanwa_rank.value='なし'}
}
html文

<script src="泉北2個func別々泉北 外部 2022-8-1 Mon\jsファイル 2022-8-1 Mon\運賃 2022-8-1 Mon.js"></script> <script src="阪和2個11-2 外部 2022-8-1 Mon\jsファイル 2022-8-1 Mon\運賃 2022-8-1 Mon.js"></script> <style> textarea.hoge { width: 150px; height:200px;} </style> <body> <form name="semboku_f"> 出発駅は <select name="semboku_q1"> <option>選択肢</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> <option>栂・美木多</option> <option>光明池</option> <option>和泉中央</option> <option>名古屋市</option> <option>松山市</option> <option>金沢市</option> <option>高松市</option> </select> です。 <p> 到着駅は <select name="semboku_q2"> <option>選択肢</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> <option>栂・美木多</option> <option>光明池</option> <option>和泉中央</option> <option>名古屋市</option> <option>松山市</option> <option>金沢市</option> <option>高松市</option> </select> です。<p> <input type="button" name="b1" value="運賃検索" onclick="semboku_kotae()"> <p> <input name=semboku_tokuten size="6">km <!--HTMLここから--> <!--ランク--> <textarea name=semboku_rank style="width:150px; height:200px;">テキストエリア</textarea> <!--HTMLここまで--> <!--問題--> <br> <!--阪和線--> <script src="阪和2個11-2 外部 2022-8-1 Mon\jsファイル 2022-8-1 Mon\運賃 2022-8-1 Mon.js"></script> <body> <form name="hanwa_f"> 出発駅は <select name="hanwa_q1"> <option>選択肢</option> <option>北信太</option> <option>信太山</option> <option>和泉府中</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> <option>名古屋市</option> <option>松山市</option> <option>金沢市</option> <option>高松市</option> </select> です。 <p> 到着駅は <select name="hanwa_q2"> <option>選択肢</option> <option>北信太</option> <option>信太山</option> <option>和泉府中</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> <option>名古屋市</option> <option>松山市</option> <option>金沢市</option> <option>高松市</option> </select> です。<p> <input type="button" name="b2" value="運賃検索" onclick="hanwa_kotae()"> <p> <input name=hanwa_tokuten size="6">km <!--HTMLここから--> <!--ランク--> <textarea name=hanwa_rank style="width:150px; height:200px;">テキストエリア</textarea> <!--HTMLここまで--> <!--問題--> なのですが、 2つ以上の運賃計算プログラムを共存させたいです。 例えば、function a(){}を2回書いたら、挙動しないのはわかっています。 functionの動作をif文で分岐する方法も考えました→if文の分岐の場合、<select name="semboku_q1">と<select name="semboku_q2">を選択したら挙動を変えるというのは、例えば、1つ目のセレクトボックスのグループ内だったらif((semboku_f.semboku_q1.value == "中百舌鳥"&&semboku_f.semboku_q2.value == "深井")||(semboku_f.semboku_q1.value == "深井"&&semboku_f.semboku_q2.value == "中百舌鳥"))みたいに可能ですが、 これが、2つ目のセレクトボックスのグループには適用されないようなのです。知識不足かもしれませんが。 そこで、functionキー自体を変えることも考えました。ただしこれは、js内で、function a(){}を例えば使用するとすればそのaというのは二度と使えないというルールになっています。 この場合はbにしなければならないのです。ほかにもセレクトボックスのグループ名や個々のセレクトの名前も変えなければいけないようです。 どことどこのキーが干渉しているのかを教えていただければと思います。

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

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

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

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

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

y_waiwai

2022/08/04 10:54

このままではコードが読みづらいので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
Lhankor_Mhy

2022/08/05 02:30

Markdown を使ってください、というのは、もうあなたには無理な依頼なんだろうと諦めています。 せめて、改行してください。
guest

回答1

0

自己解決

functionを分ける。なおかつformタグとinputタグの終了宣言をしていないので、そのコードを実行するということをすれば解決できました。
以上で終えたいと思います。

投稿2022/08/05 08:49

sembokulove

総合スコア76

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問