フォームからデータを受け取りたいのですが
hiddenだと一行しか受け取れないため
textareaから複数行受け取りたいです。

上記のフォームは確認画面のためデータを受け取るだけで
ユーザーが入力する必要がないので
隠したいのです。
何か方法はありますか?

A 回答 (2件)

私もhiddenの方が良いと思いますが・・・


スタイルシートを使用してstyle="display:none"を指定すれば表示されません。
なお、hiddenで1行にまとめる際には<BR>は使用できません(タグとしては解釈されません)。
この場合には、改行コードを数値参照(numeric character reference)します。
CR+LF(Windows標準の改行コード)なら「
」を、LFなら「
」を入れればOKです。
    • good
    • 0

hiddenで持たせるで十分だと思いますが…


<INPUT TYPE="hidden" NAME="hoge" VALUE="1行目
2行目
3行目">
という感じで改行されていても、ちゃんと送信されるはずですよ。
もし上記のように表現されるのがお嫌なら、
改行コードを<BR>なり何かに変換しておけば1行になりますから、
そのデータを受け取った後にもう一度\n等に変換しては?
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

Qtextareaの一行の文字数制御

textareaの一行あたりの文字数を制御、
もしくはカウントすることは可能でしょうか?
(textarea全体の文字数ではありません。)

cols="100"などと一行の文字数を制御しようとしましたが
横のスクロールバーを表示させると(WRAP="off")
どうもうまくいきません。

良い方法をご存知の方がいらっしゃいましたら
よろしくお願いします。

Aベストアンサー

こんな感じでどうでしょう?細部は調整して下さい
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>textareaを各行指定文字数までしか入力できなくする</title>
<script language="JavaScript">
<!--
window.document.onkeypress=lineCheck;
function lineCheck(e){
var ta=document.getElementById("TEXT");
var col=ta.getAttribute("cols");
var lines=ta.value.split("\n");
for(var i=0;i<lines.length;i++){
if(lines[i].length >col){
lines[i]=lines[i].substr(0,col);//各行をcolsで指定した文字数に切り捨てる
}
}
ta.value=lines.join("\n");
}
//-->
</script>
</head>
<body>
<h1>textareaは各行100文字までしか入力できない</h1>
<textarea ID="TEXT" cols="100" rows="10" style="overflow:auto" wrap="OFF">

こんな感じでどうでしょう?細部は調整して下さい
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>textareaを各行指定文字数までしか入力できなくする</title>
<script language="JavaScript">
<!--
window.document.onkeypress=lineCheck;
function lineCheck(e){
var ta=document.getElementById("TEXT");
var col=ta.getAttribute("cols");
var lines=ta.value.split("\n");
fo...続きを読む

Q<TEXTAREA>~</TEXTAREA>の初期値

イレギュラーな事かと思いますが
<TEXTAREA>~</TEXTAREA>の初期値に
</TEXTAREA>を設定するこって可能でしょうか?
<PLAINTEXT>や&lt;や<XMP>
などもそのまま表示されてうまくいきません。
基本的にIEでできればいいです。

宜しくお願いします。

Aベストアンサー

こんにちは

<TEXTAREA>&lt;/TEXTAREA&gt;</TEXTAREA>

で駄目でしたか?

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

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

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

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

Aベストアンサー

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

[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"...続きを読む

Q内に文章を入力

するときにタブを入れて文字をそろえようとするとできません
どうしたらタブを入れることができるでしょうか?

Aベストアンサー

>"\t"はどんなタグに書き換えればいいでしょうか?
タブを表すタグやキーワード(&~;)は、なかったと思います。
preを使わないということであれば
を4タブなら4つ並べるというようにしないとしょうがないと思います。

QHTMLフォーム。ページを開いたとき、任意の textarea に自動

HTMLフォーム。ページを開いたとき、任意の textarea に自動的に入力カーソルを位置させたいが?

 いつもご丁寧な回答をありがとうございます。

 HTML でフォーム(質問コーナー)を作っています。そのページを開いたとき、入力カーソルが自動的に、任意の textarea に位置するようにプログラムしたいです。

 どのようにすれば可能でしょうか。

 教えてください。お願いします。

Aベストアンサー

そのtextarea のIDがtext1として、フォームタグのIDがform1の場合。

JavaScriptで、
document.form1.text1.focus();

とすると入力状態になります。
フォームより後にJavaScriptを置けば動作します。


このカテゴリの人気Q&Aランキング

おすすめ情報