• ベストアンサー

value文のないInputタグ

Inputタグの内容を送信したいのですが、 例えば、フォームF1のテキストエリアT1に、 document.F1.T1.value = "テスト"; として、JavaScript側から値(value)を指定します。 この場合、 <form method="post" name="F1"> <input type="text" name="T1"> </form> とするだけで、ブラウザに、「テスト」と表示させられますよね。 しかし、Inputタグの中に「value」の値が無いため、 他のURLに、テキストエリア「T1」の内容を送信することができません。 このようにJavaScript側から値(value)を指定したInputタグの値を送信する方法について教えてください。

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

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

フォーム送信をしたいのでしょうか、それとも何か別の動作を期待しているのでしょうか? フォーム送信をしたいという内容であれば、JavaScriptからvalue値を渡したinput要素でも、フォーム送信時にはJavaScriptから渡されたvalue値を送信すると思うのですが、いかがでしょうか? とりあえず、こちらのケースでしたら、下記ソースを使ってテストしてみるのが良いと思います。 <form action="#" method="get" name="F1"> <input type="text" name="T1"> <input type="submit" value="送信"> </form> <script type="text/javascript"><!-- document.F1.T1.value="test"; //--></script> 下記のソースをHTML文書に入れて、上記のフォームのサブミットボタンでフォーム送信を行い、その次のページのURL欄を確認してみて下さい。 上記のソースのフォームを送信すると、method="get"ですので、アドレス欄のURLに続けて、フォームの送信内容が追記されます。 もしアドレス欄に「(そのページのURL)?T1=test」と「?T1=test」の文字が出ているようであれば、JavaScriptでvalue値を設定したinput要素の値も送信されていることが確認できるでしょう。 input要素のタグの記述自体にvalue値を設定していなくとも、そのinput要素がもつ値を送信できないということにはならないと思いますが、このあたりはいかがでしょうか。 もしJavaScriptからvalue値を設定したinput要素のフォーム送信がうまくいっていない場合は、そのinput要素を含むフォームが正常にサブミットされているのか、受け手側のCGIなどが正常に値を取得できるように設定できているのか、あるいは送信内容にShift_JISなどが抱える2バイト目の文字の問題などが含まれていないのかどうか、そのあたりを別に確認する必要があるのではないかと思います。 参考になれば… 見当違いでしたら、ごめんなさい。

quick-nono
質問者

お礼

lead1976さん、こんにちは。 確かにget送信で、URL欄に送信できますね。 これは知りませんでした。 最初の解答のお礼欄にも書いたのですが、 このURLをVBScript側から取得する方法がわかれば、 今回の目的は達成されます。 方法について、いろいろ調べてみます。 ありがとうございます。

quick-nono
質問者

補足

補足します。 >VBScript側から取得... これは、ASP(アクティブサーバーページ)の VBScriptのことです。

その他の回答 (1)

noname#10926
noname#10926
回答No.1

↓こちらは参考になるでしょうか? http://www.openspc2.org/reibun/javascript/sub_window/033/index.html

参考URL:
http://www.openspc2.org/reibun/javascript/sub_window/033/index.html
quick-nono
質問者

お礼

doconimoさん、こんにちは。 参考URLを見ました。 確かに親ウィンドウから子ウィンドウに値がわたっています。 しかし、送信とは少し違うようです。 補足になるのですが、 JavaScriptで指定したInputタグの値を VBScript側で扱いたいのです。 通常、JavaScriptで値を入れたInputタグの値を VBScript側から参照する方法がないため、 いったん別URLに”送信”させて、 VBScriptでフォームの値を受信させたいと思っています。 いろいろ調べてみます。 ありがとうございます。

関連するQ&A