<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script>
function update(fm) {
var output = "";
output += "依頼者:";
if (!fm.irai[4].checked) {
for (var i = 0; i <= 3; i++) {
if (fm.irai[i].checked) {
output += fm.irai[i].value;
}
}
} else {
output += fm.hoka.value;
}
output += "\n";
output += "連絡先:";
output += fm.t.value;
output += "\n";
output += "訪問者:";
if (!fm.houmon[4].checked) {
for (var i = 0; i <= 3; i++) {
if (fm.houmon[i].checked) {
output += fm.houmon[i].value;
}
}
} else {
output += fm.hoka2.value;
}
output += "\n";
output += "連絡先:";
output += fm.t2.value;
output += "\n";
fm.yoyaku.value = output;
}
</script>
</head>
依頼者・訪問者共にhtml部分は以下の形式です。
<Tr>
<Td Valign="top" Width="20%">
<input type="radio" name="irai" value="本人">本人
</Td>
<Td Valign="top" Width="20%">
<input type="radio" name="irai" value="奥さま">奥様
</Td>
<Td Valign="top" Width="20%">
<input type="radio" name="irai" value="お嬢さま">娘
</Td>
<Td Valign="top" Width="20%">
<input type="radio" name="irai" value="ご子息さま">息子
</Td>
</Tr>
<Tr>
<Td ColSpan="4">
<input type="radio" name="irai">その他
<input type="text" size="21" name="hoka">
</Td>
</Tr>
</Table>
<Table Border="1" Width="250">
<Tr>
<Td ColSpan="4" Align="Center">
<B>依頼者の連絡先</B>
</Td>
</Tr>
<Tr>
<Td Valign="top">
番号:<input type="text" size="27" name="t">
</Td>
</Table>
訪問者はnameがhoumon、電話番号のnameがt2となっています。
依頼者:「依頼者」選択内容
連絡先:(依頼者の連絡先)
訪問者:「訪問者」選択内容
連絡先:(訪問者の連絡先)
と吐き出されるようになっているのですが、
依頼者と訪問者で同じラジオボックスを選択した場合、
訪問者の番号欄がグレーアウトし、
吐き出しエリアには「依頼者:訪問者:(選択内容)」と反映するようにしたいのですが、
そのような事は可能なのでしょうか。
※作業手順として、依頼者選択⇒電話番号入力⇒訪問者選択となるので、
訪問者を選択した段階で、依頼者と同じであれば、上記のように動作させたい
※その他の場合は、上記のように作動せず、両方とも入力・反映するようにしたいです。
もし可能であれば、JavaScript部分をご教示頂けませんでしょうか。
よろしくお願い致します。
※文字数制限で、ソース全体を記載する事ができませんでした…
(JavaScript部分は全文記載)
必要であれば、回答への補足として続きのソースを記載させて頂きます。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
function update(fm)もそのまま活かすんだから、
if(check){
for(var i=0;i<fm.elements["houmon"].length;i++)
fm.elements["houmon"][i].disabled = "disabled";
fm.elements["hoka2"].disabled = "disabled";
fm.elements["t2"].disabled = "disabled";
fm.elements["yoyaku"].value = "依頼者:訪問者:" + target.value
+ "\n連絡先:" + fm.elements["t"].value;
for(var i=0;i<fm.elements["houmon"].length;i++)
fm.elements["houmon"][i].checked = "";
}else{
.....
にしとかなきゃ..
失念してた
No.2
- 回答日時:
そのフォーム<form>に<form onclick="hoge(event,this);">とonclickを付けられるなら。
あなたのupdate(fm)はそのままにして、
function hoge(event,fm){
var target = event.target || event.srcElement;
var check = false;
if(target.name == "irai"){
for(var i=0;i<fm.elements["houmon"].length;i++)
fm.elements["houmon"][i].disabled = "";
fm.elements["hoka2"].disabled = "";
fm.elements["t2"].disabled = "";
}
if(target.name == "houmon"){
for(var i=0;i<fm.elements["irai"].length;i++){
if(fm.elements["irai"][i].value == target.value
&& fm.elements["irai"][i].checked)
check = true;
}
if(check){
for(var i=0;i<fm.elements["houmon"].length;i++)
fm.elements["houmon"][i].disabled = "disabled";
fm.elements["hoka2"].disabled = "disabled";
fm.elements["t2"].disabled = "disabled";
fm.elements["yoyaku"].value = "依頼者:訪問者:" + target.value
+ "\n連絡先:" + fm.elements["t"].value;
}else{
for(var i=0;i<fm.elements["houmon"].length;i++)
fm.elements["houmon"][i].disabled = "";
fm.elements["hoka2"].disabled = "";
fm.elements["t2"].disabled = "";
}
}
}
を追加すべし..
注:全角空白でインデントしてます。
No.1
- 回答日時:
function update(fm)がいつ呼ばれるのか書いてないですが、おそらくサブミットの時だとするとするとこのやり方では無理ですよね、入力してる途中で判定する必要があるわけですからDOMイベントを使って、チェックした人が、依頼者と同じか判定して、houmonの方をdisableにして、outputの中身はiraiの方を使う処理に書き換えればよいでしょう。
簡単だと思います。DOMイベントの取得がよくわからなければ、とりあえずはイベント属性(onclick)でも訪問のラジヲボタンにつけとけばあ...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンでFORMの属性を切...
-
ポップアップウインドウで選択...
-
送信フォームで送信ボタンをお...
-
VBSでブラウザ上のテキストボッ...
-
Javascript 郵便番号の入力欄で...
-
Javascriptの"return "について
-
ハイパーリンクを別ウインドウ...
-
フォームから入力すると、入力...
-
name属性のないformタグの、中...
-
プルダウン 項目が多いので先頭...
-
ラジオボタンのNullチェック
-
value内に変数を入れたい
-
JavaScriptで特定のtdタグにcla...
-
入力フォームに半角スペース以...
-
マウスカーソルの変更
-
ツリービューのチェックボック...
-
javaScriptの変数をJavaの変数...
-
特定<table>内の<td>の色を変える
-
【バグ解決】jQuery要素の絞り...
-
onchangeイベントを強制的に発...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
データベースの値を判断してラ...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンの値でリンク先を...
-
javascript作成してます。ラジ...
-
Jvasvriptのlengthで個数が取得...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンの分岐方法に関して
-
ラジオボタンのリセット方法
-
ラジオボタンでdisabledとchecked
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンのチェック数に応...
-
アンダーバーのname値は取得で...
-
ラジオボタン未チェックの場合...
-
javascriptでのアラート表示
-
javascriptによる動的なリンク...
-
ラジオボタンを使って、検索ペ...
-
リセットボタンでクリアできな...
-
ラジオボタンで選択した項目の...
おすすめ情報