リストボックスと関連付けさせて、テキストボックスに文字を表示させたいです。
表示のさせ方としては、例えば、リストボックスに5つ(5行)の文字列があります。
実現させたい事は、常にそのページが開いた時はリストボックスの1行目をテキストボックスに表示させたいです。簡単な具体例をあげると、
リストボックスに
1行目に「あ」、
2行目に「い」、
3行目に「う」、
4行目に「え」、
5行目に「お」
とあれば、
テキストボックスに、「あ」と表示。
2行目を選択したら「い」と表示。など・・・。
しかし、リストボックスの文字列の順番は場合により並びが同じではないので、スクリプト言語(VBScript?)を用いないといけないとは思いますが・・・
この例をいうと、ページが開いた時、
1行目に「お」、
2行目に「え」、
3行目に「う」、
4行目に「い」、
5行目に「あ」
とあれば、
テキストボックスに、「お」と表示してほしい。
この説明でご理解いただければ幸いです。
よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
>文字列を次のページに引継ぎたい
普通、こう言うのはCGIを使うのだけど、javascriptのみでやってみました。
最初のページ
------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>リストボックスの内容をテキストボックスに表示する</title>
<script type="text/javascript">
function init() {
document.FORM.SELECT_VALUE.value=document.FORM.LIST.options[0].value;
}
function selectValue(f) {
f.SELECT_VALUE.value=f.LIST.value;
}
function convert(f){//決定した値を、変換して、隠し欄に入れる
f.ANS.value=encodeURI(f.SELECT_VALUE.value);//encodeURIを使うのは日本語を渡すため
return true;
}
</script>
</head>
<body onload="init()">
<form name="FORM" action="nextPage.html" method="GET" onsubmit="return convert(this)">
<select name="LIST" onchange="selectValue(this.form)">
<option value="あ">あ</option>
<option value="い">い</option>
<option value="う">う</option>
<option value="え">え</option>
<option value="お">お</option>
</select><br>
<input name="SELECT_VALUE" type="text" value="" size="10"><br>
<input type="submit" value="決定">
<input name="ANS" type="hidden" value="">
</form>
</body>
</html>
------------------------------
次のページ
------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>前のページから値を引き継ぐ</title>
<script type="text/javascript">
<!--
function init() {
var paraName="ANS";//前のフォームエレメントの名前
var loc=location.href+"&"; //切り出し易くするために最後に&を付ける
var qPos=loc.indexOf("?"); //?の位置を調べる
if(qPos == -1){
return; //?が無い時なにもしない
}
loc=loc.substr(qPos, loc.length - qPos);
var xPos=loc.indexOf(paraName+"=");
if(xPos == -1){
return; //無い時なにもしない
}
xPos=xPos + (paraName+"=").length;
var andPos=loc.indexOf("&",xPos);
var v=loc.substr(xPos, andPos-xPos);
document.FORM2.SELECT_VALUE.value=decodeURI(decodeURI(v));
}
//-->
</script>
</head>
<body onload="init()">
<form name="FORM2">
前のページで選ばれたリストの値:
<input name="SELECT_VALUE" type="text" value="" size="10">
</form>
</body>
</html>
------------------------------
日本語を引き継ぐのでなければもっと簡単(encode,decodeがいらない)
No.2
- 回答日時:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>リストボックスの内容をテキストボックスに表示する</title>
<script type="text/javascript">
function init() {
document.FORM.SELECT_VALUE.value=document.FORM.LIST.options[0].value;
}
function selectValue(f) {
f.SELECT_VALUE.value=f.LIST.value;
}
</script>
</head>
<body onload="init()">
<form name="FORM">
<select name="LIST" onchange="selectValue(this.form)">
<option value="あ">あ</option>
<option value="い">い</option>
<option value="う">う</option>
<option value="え">え</option>
<option value="お">お</option>
</select><br>
<input name="SELECT_VALUE" type="text" value="" size="10">
</form>
</body>
</html>
この回答への補足
ありがとうございました。
大変参考になりました。
もうひとつお願いがあるのですが、テキストボックスにある文字列を次のページへ渡す方法を教えていただけないでしょうか。
例えば、リストボックスで「う」を選択すると、テキストボックスには「う」の文字列が表示され、「う」の文字列を次のページに引継ぎたいのです。
よろしくお願い致します。
No.1
- 回答日時:
JavascriptでもVBScriptでも同じようなことは可能です。
onLoad時のイベントで、リスト1行目の内容をテキストボックスのvalueに入れます。
下記はJavaScriptでの例です。
----------------------------------
<html>
<head>
<script type="text/javascript">
<!--
function select_value(){
document.frm.txtbox.value = document.frm.lstbox.options(0).text;
}
//-->
</script>
</head>
<body onload="select_value();">
<form name="frm">
<select name="lstbox" size="5" tabindex="0">
<option>あ</option>
<option>い</option>
<option>う</option>
<option>え</option>
<option>お</option>
</select>
<input type="text" name="txtbox" size="20">
</form>
</body>
</html>
----------------------------------
これでやりたいことが実現できていると良いのですが。
この回答への補足
ありがとうございました。
大変参考になりました。
もうひとつお願いがあるのですが、テキストボックスにある文字列を次のページへ渡す方法を教えていただけないでしょうか。
例えば、リストボックスで「う」を選択すると、テキストボックスには「う」の文字列が表示され、「う」の文字列を次のページに引継ぎたいのです。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- その他(Microsoft Office) エクセルのマクロを教えてください。 1 2023/01/27 09:05
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- ソフトウェア フォルダ内の全サブフォルダ内のファイルパスをサブフォルダ毎に行を分けてリスト化したい 1 2022/11/13 10:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
INPUT TYPE
-
「value」に2つの値をセットす...
-
htmlでセルの値を取得して計算...
-
プルダウンメニューでValue値を...
-
<select>タグの幅設定
-
チェックボックスとセレクトボ...
-
メールフォームのプルダウンメ...
-
FORMのselectの選択肢を最初か...
-
ラジオボタンを選択済みにする...
-
wordの数式について 定積分を書...
-
VB初心者。小数点以下の表示で...
-
別formのhidden項目を自form値...
-
htmlからパラメータで、cgiに渡...
-
Error: No Recipient というエ...
-
tracert ができない原因
-
JEditorPaneでwebページを表示
-
硬質カードケースについて 縦向...
-
テキストBOXの縦幅
-
チェックボックスの返す値
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
INPUT TYPE
-
FORMのselectの選択肢を最初か...
-
チェックボックスとセレクトボ...
-
チェックボックスグループの一...
-
ラジオボタンを選択済みにする...
-
<select>タグの幅設定
-
OPTIONタグにループは使えない...
-
iframeごとに戻るボタンを
-
メールフォームのプルダウンメ...
-
リストボックス(multipleなsel...
-
selectboxの画面遷移で、postデ...
-
プルダウンメニューでValue値を...
-
htmlでセルの値を取得して計算...
-
チェックボックスの余白を指定...
-
一つの検索窓で複数のサイトか...
-
ラジオボタンとセレクトメニュ...
-
コンボ1の内容に応じてコンボ...
おすすめ情報