• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セレクトエリアの地名を確認画面で表示したい)

セレクトエリアの地名を確認画面で表示する方法

このQ&Aのポイント
  • JavaScriptを使用して、セレクトエリアの地名を確認画面で表示する方法について説明します。
  • 地域別の送料をJavaScriptの値で求めているため、確認ページやメール送信で数値が表示される問題があります。
  • JavaScriptのvalueはPHP用にtitleを設定する方法を考えましたが、うまく読み込まれません。どのようにすれば読み込むことができるでしょうか?

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

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

安直な回答ですが、 <option value="0" title="北海道">北海道</option> を <option value="0,北海道" >北海道</option> とでもして、 jvascriptもphpもvalue値を分解して使っては? (javascriptでは) hoge = fom_1.ken.options[fom_1.ken.selectedIndex].value.split(","); ken_val = hoge(0); ken= hoge(1); (phpでは) $hoge = = explode(",", $_POST[ken]); ken_val = $hoge[0]; ken= $hoge[1]; もっとよい方法があるかも?

yellows
質問者

お礼

yyr446さんのを参考にしたのですが、なぜかsplitできなくて マニュアル本のリストを参考にしました。試行錯誤の末、数値をひろうことができましたので、入れてみましたがうまくいかないようです。 function souryo(s1){ } と function goukei1(){ } ここが問題だと思うのですが 文字数オーバーしてしまいますのでJavascriptの分だけのせます。 よろしくお願いします。 name変更してます ------------- <html> <head> <script language=javascript> <!-- var tankaT = new Array(0,1365,3255,0); var souryoT = new Array(420,100,0,100); var souryoT2 = new Array(1160,840,740,840); function souryo(s1){ if (s1 >= 10000) { return 0; } else { if (s1 >= 3000) { var tikuz = document.fom_1.tiku; ken = (tikuz.options[tikuz.selectedIndex].value); kenz = ken.split(","); return souryoT[kenz[0]]; } else { if (s1 == 0) { return 0; } else { var tikuz = document.fom_1.tiku; ken = (tikuz.options[tikuz.selectedIndex].value); kenz = ken.split(","); return souryoT2[kenz[0]]; } } } } function syoukei(){ a0 = 0; document.fm01.kg1.value = parseInt(1365) * document.fm01.ks1.selectedIndex; a0 = parseInt(document.fm01.kg1.value); // document.fm01.kg2.value = parseInt(3255) * document.fm01.ks2.selectedIndex; a0 = a0 + parseInt(document.fm01.kg2.value); return a0; } function goukei1(){ b0 = syoukei(); c0 = souryo(b0); document.fm01.kg5.value = b0; document.fm01.kg6.value = c0; b0 = b0 + c0; return b0; } function goukei(){ gk0 = goukei1(); document.fm01.gk00.value = gk0; return document.fm01.gk00.value; } function tiku_onclick() { goukei(); } function ks1_onclick() { goukei(); } function ks2_onclick() { goukei(); } function gk00_onkeyup() { goukei(); } function kg1_onkeyup() { goukei(); } function kg2_onkeyup() { goukei(); } function kg5_onkeyup() { goukei(); } function kg6_onkeyup() { goukei(); } //--> </script> </head>

yellows
質問者

補足

ありがとうございます。すぐに書き込んでいただいたのに・・・・ おかげさまでPHPの方は、メールがおくられて来るようになりました。 Javascriptの方は、なぜかsplitできないようです。 もうちょっと考えて見てから返信します。

その他の回答 (1)

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

それはHTMLの基本の話でしょう・・・ 送られるのはtitleじゃなくてvalueだから・・・ 表示したいなら配列を用意しておけば一発でしょう。・ $prefecture=Array(0=>"北海道",1=>"青森"・・・); print $prefecture[$_POST["ken"]];

yellows
質問者

お礼

formのnameが異なっていました。 お恥ずかしい限りです。 最小限抜き出して動作確認をしていました。 そのときにnameも変更したのです。nameが違うのですから動作するはずありません。それからが悲劇の始まりでした・・・・ プリントアウトして見直していたのですが思いこみってやつですね、間違いに気づきませんでした。もうギブアップ状態に陥りました。 本当にお騒がせいたしました。 yambejpさま参考になりました。ありがとうございました。 今後ともよろしくおねがいします。 回答へのお礼を書き込むと追記できないのですね 初めて書き込みましたので掲示板の使い方がわかりませんでした yyr446さまにはこの場をお借りして御礼します。 今後ともよろしくおねがいします。

yellows
質問者

補足

早速とお返事頂きましたのに申し訳ございません 言われてみて、納得です。 Javascriptのページのようです。 >送られるのはtitleじゃなくてvalueだから・・・ そうなんですね、valueの数値で動いてますので県名は別の方法で表示できるのかなと考えてtitleにしたわけです。(素人の浅知恵というやつです) JavascriptもPHPのはじめたばかりで リファレンスやマスターブックを買い込みましたが応用がききません。 配送料ですから数値は8つのエリアなので数値がダブります。 もういちどリファレンス見て考えます。

専門家に質問してみよう