- ベストアンサー
テキストボックスに関して質問です
ページ間でのテキストボックスからテキストボックスへの文章の移行って可能でしょうか? tezt1.htmlってページにある 名前⇒<INPUT TYPE="text" NAME="name1"> 住所⇒<INPUT TYPE="text" NAME="adres1"> のテキストボックスに入力された文章を 入力ボタン <INPUT type="button" value="入力" onClick="・・・・・"> を押すと、下に用意してあるテキストボックス(別ページ)に入力した値が入るようにしたいのです。 tezt2.htmlの 名前⇒<INPUT TYPE="text" NAME="name2"> 住所⇒<INPUT TYPE="text" NAME="adres2"> 事情が有り一つのページで行えません。 フレームわけしたページで移行して使用したいのですが… 質問し方が悪くて大変申し訳有りません。宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
WEBサーバ側にCGIやPHPとかプログラムを設置することは可能?
その他の回答 (3)
- sh_hirose
- ベストアンサー率66% (56/84)
>凄く近いものがあるのですが日本語表記での仕方を模索しています。 サプミットする前にURLエンコードすればいいだけです。 サンプル↓ // aaa.html <html> <head> <title>aaa</title> <script type="text/javascript"> <!-- function send(form) { var value = window.document.getElementById("text1").value; window.document.getElementById("text1").value = encodeURIComponent(value); form.submit(); } // --> </script> </head> <body> <form action="bbb.html" method="GET"> <input type="text" name="text1" id="text1"/> <input type="button" value="send" onClick="send(this.form);"/> </form> </body> </html> // bbb.html <html> <head> <title>bbb</title> <script type="text/javascript"> <!-- function initOnLoad() { var query = window.location.search.substring(1); var params = query.split("&"); for( var i = 0; i < params.length; i++ ) { var text = params[i].split("="); if( text[0] == "text1" ) { window.document.getElementById("text1").value = decodeURIComponent(decodeURIComponent(text[1])); } } } // --> </script> </head> <body onLoad="initOnLoad();"> <input type="text" id="text1"/> </body> </html> decodeURIComponentを2回やらないとうまくいかないです。 (エンコード後%をエンコードしてしまうため) フォームでサブミットせずに、location.hrefを使用してパラメータを作成すればデコードは1回で済むはずです。 // base2.html <html> <head> <title>base2</title> </head> <frameset cols="50%,*"> <frame src="ccc.html" name="aaa"/> <frame src="dummy.html" name="dummy"/> </frameset> </html> // ccc.html <html> <head> <title>ccc</title> <script type="text/javascript"> <!-- function send() { var param = "text1=" + encodeURIComponent(window.document.getElementById("text1").value); var url = "http://xxxxxx.xxx/ddd.html?" + param; location.href = url; } // --> </script> </head> <body> <input type="text" name="text1" id="text1"/> <input type="button" value="send" onClick="send();"/> </body> </html> // ddd.html <html> <head> <title>ddd</title> <script type="text/javascript"> <!-- function initOnLoad() { var query = window.location.search.substring(1); var params = query.split("&"); for( var i = 0; i < params.length; i++ ) { var text = params[i].split("="); if( text[0] == "text1" ) { window.document.getElementById("text1").value = decodeURIComponent(text[1]); } } } // --> </script> </head> <body onLoad="initOnLoad();"> <input type="text" id="text1"/> </body> </html>
- sh_hirose
- ベストアンサー率66% (56/84)
とりあえずJavaScriptでうまくいったので。 ただしテキストボックスに日本語が入る場合はうまくいきません。 submitする際にJavascriptでテキストボックスの値をURLエンコードしなければいけません。encodeURI("対象文字列") // base.html <html> <head> <title>base</title> </head> <frameset cols="50%,*"> <frame src="aaa.html" name="aaa"/> <frame src="dummy.html" name="dummy"/> </frameset> </html> // aaa.html <html> <head> <title>aaa</title> </head> <body> <form action="bbb.html" method="GET"> <input type="text" name="text1"/> <input type="submit" value="send"/> </form> </body> </html> // bbb.html <html> <head> <title>bbb</title> <script type="text/javascript"> <!-- function initOnLoad() { var query = window.location.search.substring(1); var params = query.split("&"); for( var i = 0; i < params.length; i++ ) { var text = params[i].split("="); if( text[0] == "text1" ) { window.document.getElementById("text1").value = text[1]; } } } // --> </script> </head> <body onLoad="initOnLoad();"> <input type="text" id="text1"/> </body> </html>
補足
回答ありがとうございます。 凄く近いものがあるのですが日本語表記での仕方を模索しています。 やはりこれはどう一ページ内でジャバスクリプトしか手はないのでしょうか? わがままな質問で大変申し訳有りません。
- OKbokuzyo
- ベストアンサー率43% (130/296)
フレームで分けているなら window.parent.frames[0].document~ ってな感じで別フレームにアクセスできます。 完全に別ページならクッキーで値を渡すくらいしかないですね~
補足
回答ありがとうございます!完全に別ページなのです… このクッキーの価の渡し方ってどうすればいいんでしょうか? ちなみに…window.parent.frames[0].document~では出来ませんでした… 至らないところ多々有りますが宜しくお願いします。 テキストボックス同士が駄目ならば…普通の文章を違うページのテキストボックスに入れたいのです… 宜しくお願いします。
補足
回答ありがとうございます。 正直厳しいと思います… それがないと無理でしょうか? 宜しくお願いします。