• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascript)

JavaScriptで文字を入力して返すロジックを実装する方法

このQ&Aのポイント
  • JavaScriptのロジックを使用して、文字を入力して返す方法について説明します。
  • 具体的なコード例を示しながら、入力ボックスを作成して文字の入力・返却を行う方法を解説します。
  • また、文字の返却が行われない場合の原因と解決方法についても説明します。

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

  • ベストアンサー
noname#212058
noname#212058
回答No.2

回答 No.1 です。 > 肝心のボックスの中身は、どちらもスペースになってしまいます。 データが Submit できないという質問ではなく、 INPUT ボックスが空になるという問題に対する質問だったのですか。それは今の実装方式で解決するのは難しいです。 INPUT ボックスが空になる原因は『Submit によってページが再読み込みされる』ためです。つまり、Javascript でボックスにデータを記入しても、Submit によってページが再読み込みされて、「最初の INPUT ボックスが空のページ」で上書きされてしまうために発生します。 これを回避するためには、以下のような対処を取るほうほうが考えられます。 A案) Submit を使用せずに、Ajax (jQuery) などを使用してサーバにデータを送る   (ページの再読み込みが発生しないようにする) B案) 問題のページを PHP などを使用した動的ページに直し、    再読込み時には value 値をセットした HTML を作るようにする

yodogou
質問者

お礼

原因がわかりました、有難う御座います。 A案で対処したいと思います。有難う御座いました。

その他の回答 (1)

noname#212058
noname#212058
回答No.1

以下のようにすれば、foo にデータをコピーしてsubmit するようになります。 ポイントは <INPUT type="submit"> 要素に onclick を追加して、ボタン押下時に foo にデータを投入するコードが動くようにしたところでしょうか。 <form id="sample"> <input type="text" id="hoge" name="hoge" value="" size="30"> <input type="text" id="foo" name="foo" value="" size="100"> <INPUT type="submit" onclick="executeTest();" value="変換"> <script language="javascript"> function executeTest() { function test(p){ return p; } var elements = document.getElementById('sample').elements; elements['foo'].value = test(elements['hoge'].value); } executeTest(); </script>

yodogou
質問者

補足

返信有難う御座います。 上記同じように組みなおしたつもりなのですが、 結果、get機能と同じように、 アドレスが ~.htm?hoge=test&foo=省略 とこのようになり、これで良いのかもしれないですが、 fooの中身は変換された文字が入ってましたが、 肝心のボックスの中身は、どちらもスペースになってしまいます。 私が何か間違ったでしょうか。

関連するQ&A