ラジオボタンで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>
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を見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mousewheelイベントについて
-
FireFoxのjavascriptで自動でキ...
-
javascriptの基本的なことだと...
-
XMLでのAttributeを持ったNode...
-
ie操作 フレームのURLが...
-
JavaScript window.openで開く...
-
Latexに関する質問です。
-
乗換案内 VBAで操作したい
-
DOM要素を削除しても、イベント...
-
document.onkeydownについて
-
showModalDialogで開いた画面を...
-
IE11 javascriptについて
-
ラジオボタンでreadonlyの切替え
-
[DOM] 取得したHTMLのオブジェ...
-
コンストラクタと静的メソッド...
-
同じIDで定義した要素の配列を...
-
Boolean型配列中のTrueの有無を...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
window.openでタイトル名の指定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScript window.openで開く...
-
このjavascriptのif文、条件式...
-
DOM要素を削除しても、イベント...
-
FireFoxのjavascriptで自動でキ...
-
javascriptの基本的なことだと...
-
文字を一文字ずつ表示
-
showModalDialogで開いた画面を...
-
Null またはオブジェクトではあ...
-
Javascriptのhtml出力についてa...
-
codejump 模写コーディングgall...
-
LaTeX:数式を等号揃えにする方法
-
javascriptのdocument.allにつ...
-
excle VBA とweb上の検索を利用...
-
Latexに関する質問です。
-
乗換案内 VBAで操作したい
-
JavaScriptのdocument.all("変...
-
Javascriptで定期的にF5を押す...
-
選択によってsubmitボタンの色...
-
スマホでフォームにフォーカス...
-
iframeのソースを取得したい
おすすめ情報