![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
ラジオボタンでreadonlyの切替えをしたいのですが、どうもうまくいきません。ラジオボタンの値の拾い方でつまづいているようです。
<script Language="JavaScript">
<!--
function set( n ) {
document.main.Submit.value = document.main.elements[n].value;
document.main.Submit.style.backgroundColor = document.main.elements[n].style.backgroundColor;
document.main.年月日.value = 'やっほ';
document.main.年月日.style.background = 'white';
if (document.main.shori.value = '複写'){
document.main.年月日.readOnly = '';
alert(document.main.shori.value);
}
else if (document.main.shori.value = '修正'){
alert(document.main.shori.value);
document.main.年月日.readOnly = ture;}
}
// -->
</script>
<FORM NAME=main ACTION="★" METHOD="POST">
<INPUT TYPE="RADIO" NAME="shori" VALUE="修正" CHECKED onClick="set(0);">修正 <INPUT TYPE="Radio" NAME="shori" VALUE="複写" onClick="set(1);">複写<BR>
<INPUT TYPE="text" NAME="年月日" SIZE="20" VALUE="" readonly style="background-color : #FFCCCC;" style="ime-mode: inactive">
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_02.png?08b1c8b)
No.2ベストアンサー
- 回答日時:
まず、#1の方も指摘されていますが、フォーム部品の名前に全角文字は使わないようにした方が良いですね。
エラーの原因になることが多々あります。それで、ラジオボタンの利用法ですが、ラジオボタンがチェックされているかどうかを拾う必要があると思いますよ。 document.フォーム名.ラジオボタン名[x].checkedというプロパティが真であるかどうかをチェックしないといけないでしょう。 特定のラジオボタンがチェックされているかどうかを拾うには、ラジオボタンはJavaScriptでは配列として管理されていますので、そのフォーム名とラジオボタン名に加えて、配列の番号を付記して行います。
ラジオボタンを拾って動作をチェックする部分のスクリプトを、以下のようにしてみてはいかがでしょうか。
if (document.main.shori[1].checked){
document.main.dated.readOnly= false ;
alert(document.main.shori[1].value);
}
else if (document.main.shori[0].checked){
alert(document.main.shori[0].value);
document.main.dated.readOnly= true ;}
多分これでうまく動いてくれると思います。
なお、readOnly属性の操作で、書込み禁止を解除する場合には、値なしを引き渡すよりもfalseを渡した方が確実ですよ。
ラジオボタンの扱いは、他のタイプのものとはちょっと違うので、慣れが必要ですね(私も先日こちらの回答で、ラジオボタンの扱いについて間違ったことを書いてしまいました…)。
参考になれば幸いです。 見当違いでしたら、ごめんなさい。
回答ありがとうございました。
アドバイスのとおりで動きました。
>ラジオボタンがチェックされているかどうかを拾う必要があると思いますよ。
この点があいまいなままでやっていました。どうも動きが違うと繰り返していたらこのせいなのですね。
No.3
- 回答日時:
>ラジオボタンの値の拾い方でつまづいているようです。
上記の通りだ何故かラジオボタンをクリックした時に関数を呼び出ししかも何故かそれぞれのラジオボタンに特有の引数を入れてるのでそれを利用すればわざわざdocumentを使わなくても場合わけで切るのでは?
if(n==0){
修正のラジオボタンを押した時の処理
}else if(n==1){
複写のラジオボタンを押した時の処理
}
if(n==1)は省略しても大丈夫なはずですが一応入れておきました。
回答ありがとうございました。
>わざわざdocumentを使わなくても場合わけで切るのでは?
確かに、提示した中身だけだとそのとおりなのですが、員数の部分を今後なしにするつもりなので今回の質問になってしまいました。
No.1
- 回答日時:
とりあえず
フォームの名前は全角文字は使わないように。
とりあえず、何をしようとしているのでしょうか?
document.main.年月日.value = 'やっほ';
document.main.年月日.style.background = 'white';
はif文の外にありますが(つまり関数が呼び出されるたびに動作しますが)それでいいのでしょうか?
あと
document.main.Submit.style.backgroundColor = document.main.elements[n].style.backgroundColor;
は何をしようとしているのでしょうか?
回答ありがとうございました。
>はif文の外にありますが(つまり関数が呼び出されるたびに動作しますが)それでいいのでしょうか?
すみません。この部分はやりたいことと直接には関係ない部分でした。
>document.main.Submit.style.backgroundColor = document.main.elements[n].style.backgroundColor;
は何をしようとしているのでしょうか?
ここも同様でした。 (^^;
よけいな部分が多すぎる質問でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブックマークレットの() 背景...
-
キーコードを表示するJavaScrip...
-
JavaScript window.openで開く...
-
DOM要素を削除しても、イベント...
-
同じ型【ハイフンと数字】だけ...
-
アルファベットABCD…をスマート...
-
document.writeで画面が消える
-
google apps scriptの終了のさせ方
-
イベントが初めの一回しか起き...
-
ジェネレーターの作り方
-
HTTPSのとき":"が"%3A"ではなく...
-
任意の座標をクリックさせるには
-
functionから別のfunctionを実...
-
JavaScriptにおける[] とか :...
-
jQueryの :not() .not() が有効...
-
イベントリスナーに設定した関...
-
ワイルドカード もしくは あ...
-
JSONデータを50音順でソートしたい
-
onchangeイベントを使ってspan...
-
JS・JqueryやWPプラグインで、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Latexに関する質問です。
-
TexでΣの添え字の位置直し
-
excle VBA とweb上の検索を利用...
-
Null またはオブジェクトではあ...
-
DOM要素を削除しても、イベント...
-
webページ上のTabキーの動き
-
JavaScript window.openで開く...
-
onClickイベントの変更方法
-
FireFoxのjavascriptで自動でキ...
-
Javascriptで定期的にF5を押す...
-
LaTeX:数式を等号揃えにする方法
-
VBAでIEのボタンを押してメッセ...
-
javascriptの基本的なことだと...
-
VBAのIE操作でframe構造のサイ...
-
XMLでのAttributeを持ったNode...
-
showModalDialogで開いた画面を...
-
選択によってsubmitボタンの色...
-
compatModeとは?
-
重い処理とはどのようなものが...
-
クリッカブルマップのリンク部...
おすすめ情報