以下の様に、
セレクトボックスで選択した値を、
ボタン押下でそれぞれのテキストボックスに一括で代入する
スクリプトがあるのですが、この様式を使用するつもりであった場所は、他のJavaScriptの関数で定義した<form>と干渉してしまい、
動かない現象が起きてしまいました。
このスクリプト中で、<form>を使用しない形で、
同じ動作をさせるには、どの様に修正したらよろしいでしょうか。
ご教授、よろしくお願いします。
<HEAD>要素
function my1()
{a=document.form1.eiji.value;
document.form1.eiji2.value=a;}
function my2()
{a=document.form2.moji.value;
document.form2.moji2.value=a;}
function my3()
{a=document.form3.suuji.value;
document.form3.suuji2.value=a;}
<BODY>要素
<form name="form1">
<SELECT NAME = "eiji" style="width:150px;">
<OPTION VALUE = "">↓-選んで下さい-</OPTION>
<OPTION VALUE = "a">a</OPTION>
<OPTION VALUE = "b">b</OPTION>
<OPTION VALUE = "c">c</OPTION></SELECT>
<input type="text" name="eiji2" style="width:150px;">
</form>
<form name="form2">
<SELECT NAME = "moji" style="width:150px;">
<OPTION VALUE = "">↓-選んで下さい-</OPTION>
<OPTION VALUE = "あ">あ</OPTION>
<OPTION VALUE = "い">い</OPTION>
<OPTION VALUE = "う">う</OPTION></SELECT>
<input type="text" name="moji2" style="width:150px;">
</form>
<form name="form3">
<SELECT NAME = "suuji" style="width:150px;">
<OPTION VALUE = "">↓-選んで下さい-</OPTION>
<OPTION VALUE = "1">1</OPTION>
<OPTION VALUE = "2">2</OPTION>
<OPTION VALUE = "3">3</OPTION></SELECT>
<input type="text" name="suuji2" style="width:150px;">
</form>
<input type="button" value="入力" onClick="my1();my2();my3();">
No.1ベストアンサー
- 回答日時:
>他のJavaScriptの関数で定義した<form>と干渉してしまい、
どのような干渉が起きているのか不明ですが、単純にnameを変えるとかで回避できないのでしょうか?
ご提示のformはsubmitしてサーバに送信することはないみたいですが、全体でセットなら必ずしもform1、form2、from3に分ける必要もなく、1つのformに入れてもよさそうですね。
スクリプトも3つのfunctionに分けなくとも、まとめてしまってもよさそうに見えますが。
単にセレクトされた内容をコピー表示しているだけなので、どのような意味があるのか不明ですが、ご提示の用途にしか使わないのであれば、方法を変えてこんなのではダメでしょうか?
* selectの直後にあるinputに値が反映されます。
<html>
<head><title>test</title>
<script type="text/javascript">
function test(sel) {
var e = sel.nextSibling;
while(e.nodeName!='INPUT') e = e.nextSibling;
e.value = sel.value;
}
</script>
</head>
<body>
<select name="eiji" style="width:150px;" onchange="test(this)">
<option value="">↓-選んで下さい-</option>
<option value = "a">a</option>
<option value = "b">b</option>
<option value = "c">c</option>
</select>
<input type="text" name="eiji2" style="width:150px;">
<br>
<select name="moji" style="width:150px;" onchange="test(this)">
<option value="">↓-選んで下さい-</option>
<option value="あ">あ</option>
<option value="い">い</option>
<option value="う">う</option>
</select>
<input type="text" name="moji2" style="width:150px;">
</body>
</html>
fujillin様
早速のご回答、有難うございました。
今回の干渉は、JavaScript同士のものではなく、
HTMLデータをPerlで書かれたcgiで取得した後に、
加工表示する仕組みになっていたようです。
その際の、Form同士の干渉が起きていた様です。
ご教授頂いた通りに設定してみたところ、
両方の機能が問題なく作動することが、確認できました。
感謝致します。
有難うございました。
No.2
- 回答日時:
みじかくなら^^;。
<input type="button" value="入力" onClick="setValue('eiji', 'moji', 'suuji')">
function setValue(){for(var o,c=0,e0,e1;o=arguments[c++];(e0=(document.getElementsByName(o)||[])[0])&&(e1=(document.getElementsByName(o+'2')||[])[0])&&(e1.value=e0.value));}
ここからしたは、むししてね。
//___________
きょうだいだけしか、あいせないのなんてきらいっ!
function getNextNode ( node, n) {
if( n = node.firstChild ) return n;
do if( n = node.nextSibling ) return n; while ( node = node.parentNode ); return null;
}
//なまえのきめうちってどうなのよ?!って、つっこみは、する~。^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
select要素のvalueを配列で取得...
-
動的なセレクトボックスの生成...
-
Selectボックスの一覧表示方法
-
javascriptでセレクトボックス...
-
VBScriptでHTMLのセレクトボッ...
-
javascriptでセレクトメニュー...
-
同じ名前のセレクトがある場合...
-
【JavaScript】プルダウンで数...
-
セレクトボックスで選択した内...
-
2段階連動セレクトボックスでの...
-
データベースからのarray を j...
-
3つの連動したプルダウンメニュ...
-
<select> をmultiple にしてい...
-
全てのselect要素をデフォルト...
-
複数のプルダウンを1つにまとめ...
-
ラジオボタンとプルダウンを連...
-
ラジオボタンの選択に応じてプ...
-
プルダウンの値をphpファイルへ...
-
JavaScriptで<select>の<option...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
全てのselect要素をデフォルト...
-
【JS】selectでchangeした時の...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
複数のプルダウンを1つにまとめ...
-
コードレビューをお願いします。
-
JavaScriptで<select>の<option...
-
<input>の選択肢をプルダウンメ...
-
select要素のvalueを配列で取得...
-
selectを変更不可にしたい
-
VBScriptでHTMLのセレクトボッ...
-
ラジオボタンとプルダウンを連...
-
javascriptで合計金額を算出し...
-
中百舌鳥駅と深井駅を入れ替え...
-
同じ名前のセレクトがある場合...
-
セレクトボックスで配列を呼び...
-
今日の日付を自動的にセレクト...
-
プルダウンの値によって活性・...
-
サイト内の物件を複数の検索条...
おすすめ情報