sembokulove
@sembokulove (Missing place)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

運賃計算プログラムを作っています。javascriptの構文のどこがバッティングしているでしょうか?

運賃計算プログラムを作っています。
違う路線を乗せると、なぜか挙動しないです。
恐らくタグの一部がバッティングしているものだと考えます。
cssにしろjavascriptにしろ、バッティングするタグは、
最初のものが無効化され、最後のほうが優先されてしまいます。
この状況を打破するには?
html文↓

<script src="南海 20220803 Wed\jsファイル 20220801 Mon\運賃 20220801 Mon.js"></script>
<script src="泉北 20220801 Mon\jsファイル 20220801 Mon\運賃 20220801 Mon.js"></script>
<script src="泉北 20220801 Mon\jsファイル 20220801 Mon\距離 20231219 Wed.js"></script>
<style>
textarea.hoge { width: 150px; height:200px;}
</style>
<!--HTMLここまで-->
<!--問題-->
<br>
<hr>
<br>
<!--阪和線-->
<body>
<form name="fare_f">
出発駅は 
<select name="fare_q1">
<option>選択肢</option>
<option id="hoge">難波</option>
<option>新今宮</option>
<option>天下茶屋</option>
<option>堺東</option>
<option>中百舌鳥</option>
<option>深井</option>
<option>泉ケ丘</option>
</select>
です。
<p>
到着駅は 
<select name="fare_q2">
<option>選択肢</option>
<option id="hoge">難波</option>
<option>新今宮</option>
<option>天下茶屋</option>
<option>堺東</option>
<option>中百舌鳥</option>
<option>深井</option>
<option>泉ケ丘</option>
</select>
です。<p>
<input id="result11" type="text11" value="" size="30">
<br>
<input id="result21" type="text21" value="" size="30">
<input type="reset" value="リセット"></p>
<input type="button" name="b1" value="運賃検索" onclick="fare_kotae()"> <p></input>
<table border="1">
<input name=fare_tokuten id="fare_tokuten_2" size="6" type="hidden"></input></th></tr>
<tr><th>普通大人</th><th><input name=fare_futsu_otona id="fare_futsu_otona_2">円</input></th></tr>
<tr><th>普通小児</th><th><input name=fare_futsu_shoni id="fare_futsu_shoni_2">円</input></th></tr>
<tr><th>通勤定期大人1か月</th><th><input name=fare_tsukin_teiki_otona_1 id="fare_tsukin_teiki_otona_1_2">円</input></th></tr>
<tr><th>通勤定期小児1か月</th><th><input name=fare_tsukin_teiki_shoni_1 id="fare_tsukin_teiki_shoni_1_2">円</input></th></tr>
<tr><th>通勤定期大人3か月</th><th><input name=fare_tsukin_teiki_otona_3 id="fare_tsukin_teiki_otona_3_2">円</input></th></tr>
<tr><th>通勤定期小児3か月</th><th><input name=fare_tsukin_teiki_shoni_3 id="fare_tsukin_teiki_shoni_3_2">円</input></th></tr>
<tr><th>通勤定期大人6か月</th><th><input name=fare_tsukin_teiki_otona_6 id="fare_tsukin_teiki_otona_6_2">円</input></th></tr>
<tr><th>通勤定期小児6か月</th><th><input name=fare_tsukin_teiki_shoni_6 id="fare_tsukin_teiki_shoni_6_2">円</input></th></tr>
<tr><th>通学定期大人1か月</th><th><input name=fare_tsugaku_teiki_otona_1 id="fare_tsugaku_teiki_otona_1_2">円</input></th></tr>
<tr><th>通学定期小児1か月</th><th><input name=fare_tsugaku_teiki_shoni_1 id="fare_tsugaku_teiki_shoni_1_2">円</input></th></tr>
<tr><th>通学定期大人3か月</th><th><input name=fare_tsugaku_teiki_otona_3 id="fare_tsugaku_teiki_otona_3_2">円</input></th></tr>
<tr><th>通学定期小児3か月</th><th><input name=fare_tsugaku_teiki_shoni_3 id="fare_tsugaku_teiki_shoni_3_2">円</input></th></tr>
<tr><th>通学定期大人6か月</th><th><input name=fare_tsugaku_teiki_otona_6 id="fare_tsugaku_teiki_otona_6_2">円</input></th></tr>
<tr><th>通学定期小児6か月</th><th><input name=fare_tsugaku_teiki_shoni_6 id="fare_tsugaku_teiki_shoni_6_2">円</input></th></tr>
</table>
<body>

</body>
<!--HTMLここまで-->
<!--問題-->
<hr />
<hr />
<hr />

<!DOCTYPE html>
<html lang="ja">
 
<head>
    <meta charset="UTF-8">
    <title>フォームに入力された数値の取得</title>
</head>

js文↓

function fare_kotae()
{
fare_ten=0
if((fare_f.fare_q1.value == "難波"&&fare_f.fare_q2.value == "新今宮")||(fare_f.fare_q1.value == "新今宮"&&fare_f.fare_q2.value == "難波"))
{fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 201110002}
else if((fare_f.fare_q1.value == "難波"&&fare_f.fare_q2.value == "天下茶屋")||(fare_f.fare_q1.value == "天下茶屋"&&fare_f.fare_q2.value == "難波"))
{fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 201110003}
else if((fare_f.fare_q1.value == "難波"&&fare_f.fare_q2.value == "堺東")||(fare_f.fare_q1.value == "堺東"&&fare_f.fare_q2.value == "難波"))
{fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 201110008}
else if((fare_f.fare_q1.value == "新今宮"&&fare_f.fare_q2.value == "天下茶屋")||(fare_f.fare_q1.value == "天下茶屋"&&fare_f.fare_q2.value == "新今宮"))
{fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 201110002}
else if((fare_f.fare_q1.value == "新今宮"&&fare_f.fare_q2.value == "堺東")||(fare_f.fare_q1.value == "堺東"&&fare_f.fare_q2.value == "新今宮"))
{fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 201110009}
else if((fare_f.fare_q1.value == "天下茶屋"&&fare_f.fare_q2.value == "堺東")||(fare_f.fare_q1.value == "堺東"&&fare_f.fare_q2.value == "天下茶屋"))
{fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 201110008}
else fare_f.fare_q1.style.backgroundColor="red"
fare_f.fare_tokuten.value=fare_ten

var myFunc = function(fare_kotoae_2) {
	const str = document.getElementById("color3").value;

	document.getElementById("span3").textContent = str;
}
//ここから

  if (fare_f.fare_tokuten.value==201110002) 
  {
    fare_f.fare_futsu_otona.value = Number("180");
    fare_f.fare_futsu_shoni.value = Number("90");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("5980");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("3480");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("17050");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("9910");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("32300");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("18770");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("2000");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1520");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("5700");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("4320");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("17800");
    fare_f.fare_tsugaku_teiki_shoni_6.value = Number("8190");
  }
  else if (fare_f.fare_tokuten.value==201110003)
  {
    fare_f.fare_futsu_otona.value = Number("180");
    fare_f.fare_futsu_shoni.value = Number("90");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("6860");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("3890");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("19560");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("11080");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("37050");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("20980");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("2450");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1700");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("6990");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("4850");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("13230");
    fare_f.fare_tsugaku_teiki_shoni_6.value = Number("9180");
  }
  else if (fare_f.fare_tokuten.value==201110008)
  {
    fare_f.fare_futsu_otona.value = Number("290");
    fare_f.fare_futsu_shoni.value = Number("150");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("10710");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("3890");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("30530");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("11080");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("57840");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("20980");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("4250");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1700");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("12120");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("4850");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("22950");
    fare_f.fare_tsugaku_teiki_shoni_6.value = Number("9180");
  }
  else if (fare_f.fare_tokuten.value==201110009)
  {
    fare_f.fare_futsu_otona.value = Number("290");
    fare_f.fare_futsu_shoni.value = Number("150");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("11370");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("3890");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("32410");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("11080");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("61400");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("20980");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("4510");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1700");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("12860");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("4850");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("24360");
    fare_f.fare_tsugaku_teiki_shoni_6.value = Number("9180");
  }
  else if (fare_f.fare_tokuten.value==2011100012)
  {
    fare_f.fare_futsu_otona.value = Number("290");
    fare_f.fare_futsu_shoni.value = Number("150");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("12690");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("4300");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("36170");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("12250");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("68530");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("23200");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("5030");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1890");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("14340");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("5390");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("27170");
    fare_f.fare
    _tsugaku_teiki_shoni_6.value = Number("10210");
  }
}

js文↓

function fare_kotae()
{
  fare_ten = 0;
  if ((fare_f.fare_q1.value=="栂・美木多" && fare_f.fare_q2.value=="光明池")
   || (fare_f.fare_q1.value=="光明池" && fare_f.fare_q2.value=="栂・美木多")) {
    fare_f.fare_q1.style.backgroundColor = "aqua";
    fare_ten = fare_ten + 201120001;
  }
  else if (((fare_f.fare_q1.value=="泉ケ丘" && fare_f.fare_q2.value=="栂・美木多")
        || (fare_f.fare_q1.value=="栂・美木多" && fare_f.fare_q2.value=="泉ケ丘"))
        || ((fare_f.fare_q1.value=="中百舌鳥" && fare_f.fare_q2.value=="深井")
        || (fare_f.fare_q1.value=="深井" && fare_f.fare_q2.value=="中百舌鳥"))
        || ((fare_f.fare_q1.value=="光明池" && fare_f.fare_q2.value=="和泉中央")
        || (fare_f.fare_q1.value=="和泉中央" && fare_f.fare_q2.value=="光明池"))) {
    fare_f.fare_q1.style.backgroundColor = "aqua";
    fare_ten = fare_ten + 201120002;
  }
else fare_f.fare_q1.style.backgroundColor="red"
fare_f.fare_tokuten.value=fare_ten

var myFunc = function(fare_kotoae_2) {
	const str = document.getElementById("color3").value;

	document.getElementById("span3").textContent = str;
}
//ここから

  if (fare_f.fare_tokuten.value==201120001) 
  {
    fare_f.fare_futsu_otona.value = Number("180");
    fare_f.fare_futsu_shoni.value = Number("90");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("6950");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("3480");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("19810");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("9910");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("37530");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("18770");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("3030");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1520");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("8640");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("4320");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("16370");
    fare_f.fare_tsugaku_teiki_shoni_6.value = Number("8190");
  }
  else if ((fare_f.fare_tokuten.value==201120002)&&(!((fare_f.fare_q1.value=="光明池" && fare_f.fare_q2.value=="和泉中央")
        || (fare_f.fare_q1.value=="和泉中央" && fare_f.fare_q2.value=="光明池"))))
  {
    fare_f.fare_futsu_otona.value = Number("200");
    fare_f.fare_futsu_shoni.value = Number("100");
    fare_f.fare_tsukin_teiki_otona_1.value = Number("7770");
    fare_f.fare_tsukin_teiki_shoni_1.value = Number("3890");
    fare_f.fare_tsukin_teiki_otona_3.value = Number("22150");
    fare_f.fare_tsukin_teiki_shoni_3.value = Number("11080");
    fare_f.fare_tsukin_teiki_otona_6.value = Number("41960");
    fare_f.fare_tsukin_teiki_shoni_6.value = Number("20980");
    fare_f.fare_tsugaku_teiki_otona_1.value = Number("3400");
    fare_f.fare_tsugaku_teiki_shoni_1.value = Number("1700");
    fare_f.fare_tsugaku_teiki_otona_3.value = Number("9690");
    fare_f.fare_tsugaku_teiki_shoni_3.value = Number("4850");
    fare_f.fare_tsugaku_teiki_otona_6.value = Number("18360");
    fare_f.fare_tsugaku_teiki_shoni_6.value = Number("9180");
  }

どこが、バッティングしているのでしょうか。

0

1Answer

networkx のライブラリーを利用することをお奨めします。

ノードを駅とし、重みを料金で、from to weight でエッジを有向グラフとして登録し、最短パスのlengthが最小運賃です。

2Like

Your answer might help someone💌