• ベストアンサー

隠しフォーム(hidden)を使いたい

こんにちは。今、HTMLで困っています。 今までは1つのテキストボックスに4桁の値を入力しCGIにその値を飛ばしていたのですが今回テキストボックスを4つ作りそこに1桁づつ入力させてCGIにその4桁を飛ばせたいのです。そこで見た目上では4つのテキストボックスの中に1桁づつ入れ、実際はhiddenで隠した方にその4つのテキストボックスで入力した値を結合させてそれをCGIに飛ばせたいのです。 たとえば・・・ (1)(2)(3)(4)←こうようにテキストボックスに1桁づつ入力。 実際CGIに渡される値は1234。 調べてみたのですが値の結合まではわかりませんでした。 この方法を知っているかたよろしくお願いします。

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

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

[test.js]ファイル function setHidden(frm){ str = frm.data1.value + ""; str = str + frm.data2.value + ""; str = str + frm.data3.value + ""; str = str + frm.data4.value + ""; frm.hdn.value = str ; } [test.html]ファイル <html> <script src="./test.js"></script> <body> <form name="xxx"> <input type="text" name="data1" value="" onChange="setHidden(xxx)"><br> <input type="text" name="data2" value="" onChange="setHidden(xxx)"><br> <input type="text" name="data3" value="" onChange="setHidden(xxx)"><br> <input type="text" name="data4" value="" onChange="setHidden(xxx)"><br> <input type="text" name="hdn" value=""><br><!-- 動きを確認した後に type="htdden"に変更してください --> </form> </body> </html> 一応↑で動きました。二つのファイルを同じフォルダに入れて確認してみてください。 一つのファイルにしたければfunctionのぶぶんをhtml内に記述する必要があります。 『JavaScriptは使いたくない』でしたら…解りかねます… ちなみに +""は消さないで下さい。 (算術計算されてしまう恐れがあります…)

jun2249
質問者

お礼

ありがとうございます。 動きまで確認できてすごくわかりやすかったです。 でも実際認識してる値をいれてみたんですが上のように変更してからそのコードはありません。みたいにエラーが返ってきてしまいました。 なぜなのでしょう?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

<form action="http://www.google.com/search" onsubmit=' this.q.value = "" + this.elements[0].value + this.elements[1].value + this.elements[2].value + this.elements[3].value; '> <input type=text><br> <input type=text><br> <input type=text><br> <input type=text><br> <input type=hidden name="q"> <input type=submit> </form>

jun2249
質問者

お礼

こんにちは。 ありがとうございました。 todo36さんに回答いただいたものも試してみましたがやはりエラーとして戻ってきてしまいました.....(;;)

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

CGI側で結合するのでは ダメなのですか。

jun2249
質問者

補足

早い回答ありがとうございます。 CGIはできれば触りたくないのです。 なのでHTMLでの方法が知りたいのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • FLASHからCGIへデータ送信(HIDDENのような)

    FLASHからcgiへデータを送信したいのですが、テキストボックスを使ってデータを入力するのではなく、ボタンにあらかじめデータをあてはめておきたいのです。 HTMLでいう「HIDDEN」のようなものです。 そういう場合はどのようにアクションスクリプトを表記すればいいのでしょうか? FLASH5です。

  • フォームの値をリンクで渡す方法

    ふつうはフォームで <input type = "text"> <input type = "hidden" name ="test1"> <input type = "hidden" name ="test2"> <input type = "hidden" name ="test3"> <input type = "hidden" name ="test2"> とやっていけばいくつものフォームの値を渡せますね。 今回はリンクにフォームの値を入れたいのです。 a href ="http://sig.com/win.cgi?text1=$text1&text2=$text2" test1はリンクの値。 text2がテキストボックスのフォームの値です。 どうやってtext2の値を上のハイパーリンクに入れられるでしょうか? やはりJAVASCRIPTを使う必要があるでしょうか? (他の質問で解決済み) フォームとリンクの値を同時にCGIに渡す方法を教えてください。 自分としては1つ1つ値を渡していくしかないか、と考えました。

    • ベストアンサー
    • Perl
  • inputtype=hiddenとは?

    CGIの勉強中ですが、そのBBSの完成スクリプト内の HTMLの中の記述で、 inputtype=hiddenというのが、ありました。 この意味は難なのでしょうか? <input type=hidden name=mode value="regist"> という一行です。 hiddenの両脇になぜダブルクオテーションが必要でないのかということがまずわかりません。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • hiddenのvalueの値を変えたい

    おはようございます。 教えていただきたいことがあります。 HTMLのほうに <input type="hidden" name="btn" value=""> と書きます。 それでJavaSctiptのfunctionの中で document.forms[0].btn.value=funcitonの引数; とやっているのですが、hiddenのvalueの中に値が入っていないようです。 どうしてでしょうか? こういう使い方ってできないものなのでしょうか? 宜しくお願いします。

  • 親フォームのHiddenに子フォームから設定は可能ですか?

    標記の通り、opener.windowにて、親フォームと子フォームを関連付けし、 子フォームで値を入力、close.windowをする際に親フォームのtextfield等に値を設定しております。 その後、設定された値を用いて、親フォームから登録処理等を行っています。 その際に、textFieldには問題なく値がセットされるのですが、どうもHiddenにはセットされていないようです。 そもそもTextfieldも、ソースを見る限りでは内容は書き換わっておりませんでした。 やはり見た目上でのみ設定され、ソース自体はまったく変わらない。 =ソース上でのみ存在するHiddenの値を、JavaScriptで変更することは不可能、という事なのでしょうか? ------------------------------ //親フォームと関連付け function LoadSet(){  oya_win = opener.window; } //フォームclose時に値をセット function oyaMsgSet(){  oya_win.document.フォーム名.elements['Hidden_Name[]'][cnt].value = "1";←ダメ  oya_win.document.フォーム名.elements['Txt_Name[]'][cnt].value = "設定値"←OK }

  • 〔ExcelVBA〕ユーザーフォームテキスト

    ユーザーフォームから値の入力を受け付けるようにしています。 このとき、テキストボックスに入力された数値が3桁区切りで表示されるように出来ないでしょうか?数値を入力するボックスなので。 100万円以上の数値を入力するときに見づらくて困っています。

  • CGI,Perlで下記のようなことを、行いたいと考えています。

    CGI,Perlで下記のようなことを、行いたいと考えています。  a.html  b.html  c.html があり、 __________________________________ 1:それぞれ、フォームに、テキストボックスが一つあります。 2:他のフォームに遷移できます。(例:a.htmlからc.hmtlのように) 3:各フォームに「A、B、Cの値を確認」ボタンがあります。 4:3のボタンをクリックすると、各テキストボックスで入力した 値が表示される。 【イメージ】 a.htmlのテキストボックスに、100を入力 b.htmlのテキストボックスに、200を入力 c.htmlのテキストボックスに、300を入力 した場合。 Aで入力された値は100です。 Bで入力された値は200です。 Cで入力された値は300です。 ______________________________________ と表示させる、cgiを作成したいです。 又、その際、hiddenを使用して行う方法(手順)を教えて頂けないでしょうか。 ファイルに書き込むことで、値を保持しておくのではと 考えましたが、a.htmlの値100を書き込み、再度、a.htmlの 値を書き込むと、a.htmlのフォームから送られた値が2つ(1回目、2回目)書き込まれた 状態になるように思います。 今回のように、例えば、ファームの入力値を保持して他の(b.thmlなど)に 遷移し、ボタンをクリックすると、全フォームの値を表示するような場合、 どのような方法が考えられるのでしょうか? どうぞ、宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • perl/cgiについて、教えて下さい。

    perl/cgiについて、教えて下さい。 下記のようなことを、行いたいと考えています。 とりあえず、  a.html  b.html  c.html があり、 __________________________________ 1:それぞれ、フォームに、テキストボックスが一つあります。 2:他のフォームに遷移できます。(例:a.htmlからc.hmtlのように) 3:各フォームに「A、B、Cの値を確認」ボタンがあります。 4:3のボタンをクリックすると、各テキストボックスで入力した 値が表示される。 【イメージ】 a.htmlのテキストボックスに、100を入力 b.htmlのテキストボックスに、200を入力 c.htmlのテキストボックスに、300を入力 した場合。 Aで入力された値は100です。 Bで入力された値は200です。 Cで入力された値は300です。 ______________________________________ と表示させる、cgiを作成したいです。 又、その際、hiddenを使用して行う方法(手順)を教えて頂けないでしょうか。 ファイルに書き込むことで、値を保持しておくのではと 考えましたが、a.htmlの値100を書き込み、再度、a.htmlの 値を書き込むと、a.htmlのフォームから送られた値が2つ(1回目、2回目)書き込まれた 状態になるように思います。 今回のように、例えば、ファームの入力値を保持して他の(b.thmlなど)に 遷移し、ボタンをクリックすると、全フォームの値を表示するような場合、 どのような方法が考えられるのでしょうか? どうぞ、宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • hiddenでフォームに・・・

    メールフォームで、 いろいろと入力をしてもらい、 送信してもらう・・・。 その送信される内容の中に、 CGI(例えば:http://sk.redbit.ne.jp/~dream/s/tips/tip/iphost.htm)等を組み合わせて隠して(hid den)IP,HOSTを記述をしたいのですが、 具体的によく分かりません。 ソースなどを記述して頂けたりすると、 かなりかなり嬉しいです。 エキスパートの方に見てもらえるこの掲示板を頼りに、頼りにしてこの質問をさせて頂きました。 よろしくお願いします。

  • 「SubmitせずにJavaScriptからCGIを呼び出して結果をH

    「SubmitせずにJavaScriptからCGIを呼び出して結果をHTML上に表示したい」 HTMLファイル上にテキストボックスとそれと対になるラベル(ラベルじゃなくても良いのですが。。)のセットがいくつかあります。 テキストボックスにコードを入力したら、ラベルにそのコードに対応する商品名を表示したいと思っています。 テキストボックスにコードを入力後、フォーカスが離れたら(Onchangeで)JavaScriptでそのコードの値を取得し、そのデータをCGIに渡してサーバにあるDBに接続し、その結果をHTML上のラベルに表示したいと思います。 Sbmitせずにフォーカスが離れた場合に、データをCGIに受け渡し、そのデータを画面遷移しないで、HTML上に表示するのはどのようにすればいいのでしょうか。 また、上記のことをJavaScriptとCGIだけでできるのでしょうか。 教えてください。 よろしくお願い致します。