
以下でセレクトボックスの選択値をinputのvalueにしたいのですが、上手く行きません。
何処を修正すれば良いのでしょうか?
<html lang="ja">
<head>
<meta charset="UTF-8">
</head>
<body>
<form name="js">
<select name="txtb" onchange="document.getElementById('txtb').value=this.value">
<option value="">*A•B選択</option>
<option value="">A</option>
<option value="">B</option>
</select>
お名前:<input type="text" name="txtb" id="txtb" value="" type="hidden"><br>
<input type="button" value="歓迎1" onclick="tbox1()"><br>
<input type="button" value="消去" onclick="clr()"><br>
</form>
<script>
//テキストボックスの文字を取得する
function tbox1(){
var str1=document.js.txtb.value;
alert("ようこそ"+str1+"さん!");
}
//テキストボックスの文字を操作する
function clr(){
document.js.txtb.value="";
}
</script>
</body>
</html>
No.3ベストアンサー
- 回答日時:
更にすっきりと整頓しました
<form name=js>
<select name=txta>
<option value="">*A•B選択</option>
<option value=A>A</option>
<option value=B>B</option>
</select>
お名前:<input type=text name=txtb value=""><br>
<button type=button name='btna'>歓迎1</button>
<button type=button name='btnb'>消去</button>
</form>
<script>
addEventListener('DOMContentLoaded',function(){
var form = document.querySelector('form[name=js]');
var txtb = form.elements['txtb'];
var greet = name => alert('ようこそ' + name + 'さん!');
form.elements['txta'].addEventListener('change', (ev) => txtb.value = ev.target.value, false);
form.elements['btna'].addEventListener('click', () => greet(txtb.value), false);
form.elements['btnb'].addEventListener('click', () => txtb.value = '', false);
}, false);
</script>
No.2
- 回答日時:
全体的にグダグダなのでちょっと整理しました
<script>
function tbox1(f){
var str1=f.elements["txtb"].value;
alert("ようこそ"+str1+"さん!");
}
function clr(f){
f.elements["txtb"].value="";
}
</script>
<form>
<select onchange="this.form.elements['txtb'].value=this.value">
<option value="">*A?B選択</option>
<option value="A">A</option>
<option value="B">B</option>
</select>
お名前:<input type="text" name="txtb" id="txtb" value=""><br>
<input type="button" value="歓迎1" onclick="tbox1(this.form)"><br>
<input type="button" value="消去" onclick="clr(this.form)"><br>
</form>
No.1
- 回答日時:
こんにちは
name属性やidが重複していたりするので、どの要素を参照なさりたいのかはっきりしませんね。
select要素のonchangeで値が反映されないのは、各optionのvalue値が""になっているからです。
(実際には、空の文字列が転記されています。)
optionのvalueにA、Bなどを入れておけば、現状のスクリプトのままで反映されるようになるでしょう。
HTMLは今のまま変えずにということであれば、選択されたoptionの表示文字を取得することで、A、Bなどを代入することも可能です。
右辺の this.value を this.options[this.selectedIndex].textContent などとすればよろしいかと。
関数tbox1、clrで操作したい対象はinput要素という解釈で良いでしょうか?
(あるいはtbox1では、select要素のほうを参照したいのかも?機械にもわからないと思います。)
とりあえずinputのほうだと仮定するとして、input要素にはidが設定されていますので、これを利用するのが確実です。
document.js.txtb.value
↓ ↓ ↓
document.getElementById("txtb").value
なお、ご提示のようにnameやidが重複している要素を正しく指定し分けるのなら、単に名前等をドット記法で接続するのではなく、querySelectorなどを用いる方法が有効だと思います。
(CSSのセレクタとほぼ同じ指定方法で要素を指定できます)
https://developer.mozilla.org/ja/docs/Web/API/Do …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンとテキストを同時...
-
setIntervalの間隔を途中で変更...
-
セレクトボックスの初期選択状...
-
javascriptでhiddenに二次元配...
-
ループで連続したフォームの値...
-
sessionStorageを調べています。
-
javascriptにてHTMLのhiddenエ...
-
switchを使って四則演算のプロ...
-
jsで、配列内の文章を改行する...
-
selectboxのoptionタグのvalue...
-
name属性が同じフォームが複数...
-
テキストボックスに入力された...
-
VB.NET DateTimeの型について
-
eval()を使わずに数値を取得し...
-
hiddenのvalueの値を変えたい
-
value内に変数を入れたい
-
return trueとreturn falseの用...
-
プルダウンで選択すると、DBの...
-
ボタンを押すとチェックボック...
-
Selectの中身をfor文で入れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
複数のsubmitボタンで押された...
-
eval()を使わずに数値を取得し...
-
javascriptでhiddenに二次元配...
-
switchを使って四則演算のプロ...
-
どのボタンがクリックされたの...
-
VB.NET DateTimeの型について
-
フォームで入力した値を別のフ...
-
name属性が同じフォームが複数...
-
selectboxのoptionタグのvalue...
-
setIntervalの間隔を途中で変更...
-
Javascriptの小ウインドウから...
-
子から親へチェックボックスの...
-
プルダウンで作文!?
-
プルダウン選択時、既に入力済...
-
ループで連続したフォームの値...
-
チェックボックスのvalueをテキ...
-
チェックボックスの値について
-
JAVASCRIPTで、ボタンを押した...
おすすめ情報