アプリ版:「スタンプのみでお礼する」機能のリリースについて

1年に数回ぐらいしかjavascriptを作成しない初心者です。
よろしくお願いします。

入力フォームの中に1つの項目に2つのラジオボタンがあり、2番目を選択した際に
下にあるテキストボックスの入力を有効にしたいのですが、ラジオボタンのnameに( )がついており、
機能が上手く効きません。
送信時には、フリーでダウンロードしたcgiが機能して入力チェックを行なうため、その名前を変更することができないのですが、javascriptの上手く効く方法はありませんでしょうか?

<script language="javascript" type="text/javascript">
<!--
function txtinp() {
fObj = document.mailform;
fObj.その他_会社名.disabled = (fObj.会社名(必須)[1].checked) ? false : true ;
}
//-->
</script>
<form id="mailform" method="post" action="mailform/send.cgi" onsubmit="return sendmail(this);">
  <input type="radio" name="会社名(必須)" value="○○株式会社" onclick="txtinp();" /> ○○株式会社
  <input type="radio" name="会社名(必須)" value="その他" onclick="txtinp();" />
その他<br />
<p>*その他を選択の場合は、下記に会社名を入力してください</p>
<input type="text" name="その他_会社名" size="50" maxlength="50" class="mf" style="ime-mode:active;" onclick="txtinp();" disabled />


というようなソースとなっています。

根本的に記述方法などを理解していないので、分り易く教えていただけると助かります。

A 回答 (1件)

name属性はさわらずに


onclick=txtinp();をonclick=txtinp(this.form);にして、
テキストボックスのonclick=txtinp();は意味不明なので削除して
scriptは↓のように

<form id="mailform" method="post" action="mailform/send.cgi" onsubmit="return sendmail(this);">
  <input type="radio" name="会社名(必須)" value="○○株式会社" onclick="txtinp(this.form);" /> ○○株式会社
  <input type="radio" name="会社名(必須)" value="その他" onclick="txtinp(this.form);" />
その他<br />
<p>*その他を選択の場合は、下記に会社名を入力してください</p>
<input type="text" name="その他_会社名" size="50" maxlength="50" class="mf" style="ime-mode:active;" disabled />

<script type="text/javascript">
function txtinp(frm) {
fObj = document.mailform;
frm.elements["その他_会社名"].disabled = (frm.elements["会社名(必須)"][1].checked) ? false : true ;
}
</script>
    • good
    • 0
この回答へのお礼

yyr446さんへ

バッチリです!!
本当に助かりました。ありがとうございます。
このようなタイプは、この例だけでないので、他にも活用させていただきます。

本当にありがとうございました!!

お礼日時:2010/12/06 17:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!