- ベストアンサー
ドロップダウンメニューとsubmitボタンを無効化したい
http://www3.ocn.ne.jp/~kmitoh/dougu/kanzan/kanzan.html 例えば、この換算プログラムはラジオボタンで何もcheckedになってませんよね。 最初にラジオボタンでなく、ドロップダウンメニューから何か選択すると IEがスクリプトエラーとなってしまいます。 このデバックに挑戦中です。 まず、これら2つのテキストボックスと2つのドロップダウンメニューを 使えないように(disabledに)する関数を設け、HTML側を <body onload="function()">として呼びだしてみたのですが、 他のラジオボタンを押したとき、disabledが解除されなくなってしまいます。 また、何もラジオボタンが選択されていない状態で「計算」を押下しても エラーになることにも気づきました。 「計算」ボタンもdisabledにしたいのですがその方法がわからず (submitボタンにidを振るとサポート外だとエラーになってしまう)、 ドロップダウンメニューだけを殺せても意味がないことに気づきました。 ならばと、 ページを呼び出した時、デフォルトで「長さ」にチェックを入れ、 最初から長さに対応したドロップダウンメニューをセットさせればよいかと、 HTML側を <INPUT TYPE="radio" NAME="rgroup" onClick="nagasa(this.form)" checked> とし、最初に <body onload="nagasa()">や <body onload="nagasa(ts)">など試してみたのですが、 前者は、bbがnullまたはオブジェクトでない と、 後者は、tsは宣言されていない などとなります。 最もスマートな解決方法を目指したいのですが、どうしたらよいでしょうか。 他にもっといい考え方/技術はきっとあると思いますが。。。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
><body onload="nagasa()">や ><body onload="nagasa(ts)">など試してみたのです 関数nagasaが受け取りたいのは、フォームオブジェクトですから、フォームを渡してやらないとダメです。 <FORM name="FORM1">とかして <body onload="nagasa(FORM1)"> としてやればいいかと思います。
その他の回答 (1)
- Seiryo
- ベストアンサー率13% (27/203)
><body onload="nagasa()">や ><body onload="nagasa(ts)">など試してみたのですが、 > >前者は、bbがnullまたはオブジェクトでない と、 >後者は、tsは宣言されていない などとなります。 が間違ってますね。
お礼
Seiryoさん、ヒントありがとうございます。 解決策は上記で示していただいたとおりでしたが 引き続き勉強したいと思います。
お礼
BLUEPIXYさん、ありがとうございます。 無事うまくできました。 なかなかjavascriptの(というよりオブジェクト指向というのでしょうか?)感覚がつかめず、四苦八苦です。