プロが教える店舗&オフィスのセキュリティ対策術

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

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

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

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

A 回答 (4件)

WEBサーバ側にCGIやPHPとかプログラムを設置することは可能?

この回答への補足

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

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

宜しくお願いします。

補足日時:2009/05/03 17:52
    • good
    • 0

>凄く近いものがあるのですが日本語表記での仕方を模索しています。



サプミットする前に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>
    • good
    • 0

とりあえず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>

参考URL:http://www.nishishi.com/javascript/2007/encodeur …

この回答への補足

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

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

わがままな質問で大変申し訳有りません。

補足日時:2009/05/04 21:39
    • good
    • 0

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



window.parent.frames[0].document~

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

完全に別ページならクッキーで値を渡すくらいしかないですね~

この回答への補足

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

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

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

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

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

宜しくお願いします。

補足日時:2009/05/03 18:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!