電子書籍の厳選無料作品が豊富!

こんにちは。今、HTMLで困っています。
今までは1つのテキストボックスに4桁の値を入力しCGIにその値を飛ばしていたのですが今回テキストボックスを4つ作りそこに1桁づつ入力させてCGIにその4桁を飛ばせたいのです。そこで見た目上では4つのテキストボックスの中に1桁づつ入れ、実際はhiddenで隠した方にその4つのテキストボックスで入力した値を結合させてそれをCGIに飛ばせたいのです。

たとえば・・・
(1)(2)(3)(4)←こうようにテキストボックスに1桁づつ入力。
実際CGIに渡される値は1234。

調べてみたのですが値の結合まではわかりませんでした。
この方法を知っているかたよろしくお願いします。

A 回答 (3件)

[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は使いたくない』でしたら…解りかねます…
ちなみに +""は消さないで下さい。
(算術計算されてしまう恐れがあります…)
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

なぜなのでしょう?

お礼日時:2003/09/26 14:14

<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>
    • good
    • 0
この回答へのお礼

こんにちは。
ありがとうございました。

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

お礼日時:2003/09/26 14:15

CGI側で結合するのでは


ダメなのですか。

この回答への補足

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

CGIはできれば触りたくないのです。
なのでHTMLでの方法が知りたいのです。

補足日時:2003/09/26 10:14
    • good
    • 0

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