• ベストアンサー
  • すぐに回答を!

テキストボックスに関して質問です

  • 質問No.4928017
  • 閲覧数131
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 13% (4/29)

ページ間でのテキストボックスからテキストボックスへの文章の移行って可能でしょうか?

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">

事情が有り一つのページで行えません。
フレームわけしたページで移行して使用したいのですが…

質問し方が悪くて大変申し訳有りません。宜しくお願いします。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 36% (42/115)

WEBサーバ側にCGIやPHPとかプログラムを設置することは可能?
補足コメント
20090503q

お礼率 13% (4/29)

回答ありがとうございます。

正直厳しいと思います…
それがないと無理でしょうか?

宜しくお願いします。
投稿日時:2009/05/03 17:52

その他の回答 (全3件)

  • 回答No.2

ベストアンサー率 43% (130/296)

フレームで分けているなら

window.parent.frames[0].document~

ってな感じで別フレームにアクセスできます。

完全に別ページならクッキーで値を渡すくらいしかないですね~
補足コメント
20090503q

お礼率 13% (4/29)

回答ありがとうございます!完全に別ページなのです…

このクッキーの価の渡し方ってどうすればいいんでしょうか?

ちなみに…window.parent.frames[0].document~では出来ませんでした…

至らないところ多々有りますが宜しくお願いします。

テキストボックス同士が駄目ならば…普通の文章を違うページのテキストボックスに入れたいのです…

宜しくお願いします。
投稿日時:2009/05/03 18:34
  • 回答No.3

ベストアンサー率 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>
補足コメント
20090503q

お礼率 13% (4/29)

回答ありがとうございます。 凄く近いものがあるのですが日本語表記での仕方を模索しています。

やはりこれはどう一ページ内でジャバスクリプトしか手はないのでしょうか?

わがままな質問で大変申し訳有りません。
投稿日時:2009/05/04 21:39
  • 回答No.4

ベストアンサー率 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>
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ