• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaScriptを使用した入力文字の継承)

javaScriptを使用した入力文字の継承

このQ&Aのポイント
  • javaScriptを使用して既存のWebページに路線検索機能を追加する方法について教えてください。
  • yahoo!路線検索にリンクさせた際に、入力した出発駅・目的地の内容が反映されない問題が発生しています。
  • 初めてjavaScriptを使用するため、ソースコードに抜けがあるのか原因が分かりません。どなたかご教授いただけないでしょうか。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

アクションの設定が「http://transit.yahoo.co.jp/」だと検索入力のページなので、ここへリンクするのであれば、わざわざ事前に一部の項目だけ入力させてからジャンプすることの意味がわかりません。(単純なリンクで良いのでは?) もしも、検索結果を表示させたいのであれば、リンク先は「http://transit.yahoo.co.jp/search/result」になるはずですが、出発地と目的地だけの情報でここへジャンプすると、航空機や新幹線は使わないという設定になるので、遠距離地を入力してみるとけっこう笑える結果になって実用的ではありません。 また、ANo2様のおっしゃるようにブラウザのエンコードではうまくいかないようなので、自分でURLエンコードしておく必要がありそうですね。 これにjavascriptを使うとして、こんな感じでしょうか? <html><head> <script language="JavaScript"><!-- function test(f){ a = "from=" + encodeURI(f.from.value) + "&to=" + encodeURI(f.to.value); elmnts = f.childNodes; for (e=0; e<=elmnts.length-1; e++) { if (elmnts[e].type == "checkbox") { elmnts[e].value = (elmnts[e].checked) ? 1:0; a = a + "&" + elmnts[e].name + "=" + elmnts[e].value; } } window.location.href="http://transit.yahoo.co.jp/search/result?" + a; return false; } //--></script> </head> <body> <form method="get" action="http://transit.yahoo.co.jp/"> 出発地<input type="text" name="from"> 目的地<input type="text" name="to"> <input type="button" value="路線検索" onclick="test(this.form);"> <br> <input type="checkbox" name="shin" value="1" checked>新幹線を使う  <input type="checkbox" name="ex" value="1" checked >有料特急を使う <br> <input type="checkbox" name="hb" value="1" checked>高速バスを使う <input type="checkbox" name="al" value="1" checked>空路を使う </form> </body> </html> 適当に作ってみましたが、とりあえず動くみたいです。でも、他にもいろいろな付加情報がありますので、全容を把握した上で作成しないと、きちんと機能しない可能性があります。 というよりも、中途半端に利用するよりも単純にトップにリンクするだけしておいた方が、結果的には親切になると思いますけど・・・

chaser007
質問者

お礼

ご丁寧にありがとうございました。今回は、(諸事情で)路線のみの検索にすることになりまして…。javascriptについてはまだまだ知識に乏しいのですが、今後も引き続き勉強していきたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

ANo.1さんと同じですがJavaScript使っていませんよね? あと、HTMLでは属性と値そしてそれを繋ぐ=の間にスペース入れては いけません。 <form method="get" action="http://transit.yahoo.co.jp/"> 出発地<input type="text" name="from"> 目的地<input type="text" name="to"> <input type="submit" value="路線検索"> </form> それと、更にページのエンコードがUTF-8以外だと正常に渡せないと 思います。

chaser007
質問者

お礼

ANo.3さんのおかげで解決致しました。ありがとうございました。

chaser007
質問者

補足

ANo.1さんANo.2さんのご指摘通りJavaScriptを使っていませんね汗。 では、下記のような流れで書けばよいのでしょうか? 一応、路線サイトには飛びます。 <html> <head> <title>"路線検索機能"</title> <script language="JavaScript"> <!-- ※ここに入力文字を飛ばす処理内容を書く? //--> </script> </head> <body> <form method="get" action=" http://transit.yahoo.co.jp/"> 出発地<input type="text" name="from"> 目的地<input type="text" name="to"> <input type="submit" value="路線検索"> </form> </body> </html>

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

javascriptを使っているようには見えませんが・・・ ちなみに <form>タグが<from>になっているのでこのままでは飛びません。 逆に、出発地のnameがfromになるはずがformとなっています。 これでは出発地ははいりません

chaser007
質問者

お礼

ANo.3さんのおかげで解決致しました。ありがとうございました。

chaser007
質問者

補足

すみません。<form>タグに関しては、私の記述ミスでした。出発地のnameはfromですね?修正して実行しても、入力文字はやはり飛んでませんでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数の入力欄についての入力チェック

    JAVAScriptを勉強し始めたものです。 よろしくお願いします。 1つのページに複数のフォームと入力欄があります。 それぞれの入力欄は数字を入力することになっていて、その数字が1~90の間にあるかどうかをチェックしたいと考えています。 下記のようなページを見ると、一つ一つの入力欄について、IF文でチェックしているのですが、一括してチェックするようなことは可能ですか? http://www.tagindex.com/javascript/form/check1.html ----------------------------------------- 【以下に、やりたいことの例を示します】 <script type="text/javascript"> <!-- function matchNum() { n=eval(document.myFORM1.myTEXT1.value); // ←この行の「myFORM1」と「myTEXT1」をすべてを網羅するように書き換えられないか? if ( n < 1 || n > 90 ) { alert("入力できるのは、1~90の値です。"); } } // --> </script> <FORM METHOD="GET" name="myFORM1"> <INPUT TYPE="text" NAME="myTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="myTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="myTEXT3" onblur="matchNum()"> </FORM> <br> <FORM METHOD="GET" name="myFORM2"> <INPUT TYPE="text" NAME="yourTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="yourTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="yourTEXT3" onblur="matchNum()"> </FORM> <br> <FORM METHOD="GET" name="myFORM3"> <INPUT TYPE="text" NAME="hisTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="hisTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="hisTEXT3" onblur="matchNum()"> </FORM> <br> <FORM METHOD="GET" name="myFORM4"> <INPUT TYPE="text" NAME="herTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="herTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="herTEXT3" onblur="matchNum()"> </FORM>

  • JAVASCRIPTでINPUT

    HTMLとJAVASCRIPTとJSPを使ってシステム構築をしております。 --------------- <html> <head> <SCRIPT Language="JavaScript"> <!-- function send() { alert("<input type=text name=name2>"); } // --> </SCRIPT> </head> <body> <form onSubmit="send(); return false;"> <input type=text name=name1> <input type=submit> </form> </body> </html> --------------- 上記のコードでやりたいことは、 submitボタンが押されたときにJAVASCRIPTを呼び出し JAVASCRIPT上で文字を入力し次画面へ送信するような機能を作りたいと思っているのですが、本を見てもなかなか載っていません。 もしかしたらJAVASCRIPTだけではできないかもしれません。 JSPまたはPHPで出来る機能でも良いので教えてください。

  • 入力に関して。

    以下のソースのようにテキストボックスを4つくらい並べて、最大入力文字数になったら、自動的に右のテキストボックスに入力できるようにすることはできるのでしょうか? <html> <head> <title></title> </head> <body> <form name="form1"> <input type="text" name="txt1" size="7" maxlength="3">. <input type="text" name="txt2" size="7" maxlength="3">. <input type="text" name="txt3" size="7" maxlength="3">. <input type="text" name="txt4" size="7" maxlength="3"> </form> </body> </html>

  • JavaScriptで入力チェック

    ////サンプル//// <p><input type="text" value="" name="box_1" /></p> <p><input type="text" value="" name="box_2" /></p> <p><input type="text" value="" name="box_3" /></p> <p><input type="text" value="" name="box_4" /></p> Javascriptで入力チェックをして 入力がされていたらpタグとinputタグの間に「○」を表示させたいのですが どのように実装したら良いでしょうか? ・inputタグは4つだけではなくたくさんあります ・DBを使っているのでページを更新しても○が消えないようにしたいです よろしくお願いします!

  • 特定の場所でEnterが押された時だけjavascriptを呼び出すには?

    <form name="f1"> <input type="text" name="t1" > <input type="text" name="t2" > <input type="text" name="t3" > </form> 上のようにtextが3つあってt3の所でEnterが押されたときだけjavascriptの 関数example()を呼び出すにはどのようにしたらよいのでしょうか?

    • ベストアンサー
    • HTML
  • 指定した文字入力したら自動で送信

    html,php,javascriptで郵便番号から住所を検索する機能を作ってます。 郵便番号を入力して検索をおすと住所が自動で入力されるのはできていて、郵便番号を7文字入力すると検索ボタンをおさないで自動で住所が入力できたりできますか?? ーーーーーーーーーーーーーーーーー <html> <head> <script type="text/javascript" src="postcode/postcode.js"></script> </head> <body style="margin:0px;"> <form name="address" style="margin: 0px;"> <table border="0" cellspacing="10" cellpadding="0"> <tr> <td nowrap>郵便番号</td> <td><input type="text" name="postcode3" style="ime-mode: disabled;"></td> <td><input type="text" name="postcode4" style="ime-mode: disabled;"></td> <td>&nbsp;</td> <td><input type="button" name="GETADDRESS" value="郵便番号から住所を自動入力" onClick="javascript:checkPostcode('address','postcode','city');"></td> </tr> <tr> <td colspan="4" nowrap><input type="text" name="city" style="width: 100%;"></td> </tr> </table> </form> </body> </html>

  • 指定のinputに入力

    恐れいります。 <form action="./xxx.cgi" method="POST"> <input type="text" name="name1"> <input type="text" name="name2"> <input type="text" name="name3"> <input type="text" name="name4"> <input type="text" name="name5"> <input type="submit" value="送信"> </form> と、5つの入力欄があり、別ウィンドウから、指定の場所に代入することは可能でしょうか。例えば、name1のエリアに、別ウィンドウからformで「test」という文字を送信して入力する感じです。 よろしくお願いします。

  • テキストボックスが何番目かを検出したい

    <FORM> <INPUT type="text" name="S1"> <INPUT type="text" name="S2"> <INPUT type="text" name="S3"> <INPUT type="text" name="S4"> <INPUT type="text" name="S5"> </FORM> 上記ソースでオンフォーカスのテキストボックスが何番目かを検出したいのですがJavaScriptで可能でしょうか?

  • javascriptによる計算

    テキストボックス「a1~6」の値とテキストボックス「b1~6」に入力された値を足し算してテキストボックス「c1~6」(例…c[i] = a[i] + b[i])を計算するJavaScriptを作成しているのですが、結果がundefinedになってしまい上手くいきません。どうやったら動くのかどうかご教授ください。 以下ソース↓ <script language ="JavaScript"> function plus() { var intResult = 0; for (i=1; i<=6; i++){ intResult[i] = 0; if (!isNaN(document.forms["A"].all["a"+i].value) && !isNaN(document.forms["B"].all["b"+i].value)){ intResult[i] += parseInt(document.forms["A"].all["a"+i].value); intResult[i] += parseInt(document.forms["B"].all["b"+i].value); } <table border = 1> <tr> <td> <table border = 1> <tr> <td> <form name="A"> <input type = "text" size = 5 name = "a1"></input> </td> <td> <input type = "text" size = 5 name = "a2"></input> </td> <td> <input type = "text" size = 5 name = "a3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a4"></input> </td> <td> <input type = "text" size = 5 name = "a5"></input> </td> <td> <input type = "text" size = 5 name = "a6"></input> </form> </td> </tr> </table> </td> <td> <table boeder = 1> <tr> <input type = "button" onClick="plus()" value = "+"></input> </tr> </table> </td> <td> <table border = 1> <tr> <td> <form name = "B"> <input type = "text" size = 5 name = "b1"></input> </td> <td> <input type = "text" size = 5 name = "b2"></input> </td> <td> <input type = "text" size = 5 name = "b3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b4"></input> </td> <td> <input type = "text" size = 5 name = "b5"></input> </td> <td> <input type = "text" size = 5 name = "b6"></input> </form> </td> </tr> </table> </td> </tr> </table> 答え <form name = "C"> <table border = 1> <tr> <td> <input type = "text" size = 5 name = "c1"></input> </td> <td> <input type = "text" size = 5 name = "c2"></input> </td> <td> <input type = "text" size = 5 name = "c3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c4"></input> </td> <td> <input type = "text" size = 5 name = "c5"></input> </td> <td> <input type = "text" size = 5 name = "c6"></input> </td> </tr> </table> </form> </body> document.C.all["c"+i].value = intResult[i]; } } </script>

  • javascript フォームについて

    javascriptでフォームを作ったのですが、複数フォームの空白をチェックするにはどのようなプログラムにすればよろしいでしょうか? onsubmit="return chk1(this)でフォーム送信が押されたときにチェックを行おうと考えているのですが そのときのchk()の中身やif文の条件がわからないのです。 どのようにすれば上手くいくでしょうか? 回答よろしくお願いします。 ソースは以下のとおりです。 <script language="javascript"> function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } function chk1(frm){ if(frm.elements["txt1"].value==""){ alert("解答欄に空白があります"); /* FALSEを返してフォームは送信しない */ return false; }else{ /* TRUEを返してフォーム送信 */ return true; } } </script> <form name="nform" method="POST" action="mailto:webmaster@a.com?subject=問い合せ" enctype="text/plain"> <p>問1</p> <p> (1)<input type="text" name="kaitouran11" size="20"> (2)<input type="text" name="kaitouran12" size="20"> (3)<input type="text" name="kaitouran13" size="20"> (4)<input type="text" name="kaitouran14" size="20"> </p> </form> <form name="nform2" method="POST" action="mailto:webmaster@leposystems.com?subject=問い合せ" enctype="text/plain"> <p>問2</p> <p> (1)<input type="text" name="kaitouran21" size="20"> (2)<input type="text" name="kaitouran22" size="20"> (3)<input type="text" name="kaitouran23" size="20"> (4)<input type="text" name="kaitouran24" size="20"> </p> </form> <form name="nform3" method="POST" action="mailto:webmaster@leposystems.com?subject=問い合せ" enctype="text/plain"> <p>問3</p> <p> (1)<input type="text" name="kaitouran31" size="20"> (2)<input type="text" name="kaitouran32" size="20"> (3)<input type="text" name="kaitouran33" size="20"> (4)<input type="text" name="kaitouran34" size="20"> </p> </form> <input type="button" value="送信" onClick="send()" onsubmit="return chk1(this)">