- ベストアンサー
テキストボックスの無効化について
function enableRadioBtn() { radiobutton_len = document.form1.radiobutton.length; for (i=0; i<radiobutton_len; i++) { document.form1.radiobutton[i].disabled = false; } } function disableRadioBtn() { radiobutton_len = document.form1.radiobutton.length; for (i=0; i<radiobutton_len; i++) { document.form1.radiobutton[i].disabled = true; } } 上記ソースの形式ではラジオボタンの無効化をループさせて行なっていますが、このような形式で複数のテキストボックスを無効化させることは出来ませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
テキストボックスの名前を同じにする方法と テキストボックスのクラス名を同じにする方法 でサンプルを作ってみました どっちかというと、クラス名でくくりを同じくするのがいいんじゃないかと思います。 ---------------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>Sample</title> <script type="text/javascript"><!-- function disableTextBoxByName(){ var txtBoxs = document.getElementsByName("inpTxt"); var tb_len = txtBoxs.length; for(i=0;i<tb_len;i++){ txtBoxs[i].disabled=true; } } function disableTextBoxByClass(f){ var len = f.elements.length; for(i=0;i<len;i++){ if(f.elements[i].className=="inpTxt"){ f.elements[i].disabled=true; } } } //--> </script> </head> <body> 名前を同じにする <form> <input type="text" name="inpTxt0" value="a"> <input type="text" name="inpTxt" value="b"> <input type="text" name="inpTxt" value="c"> <input type="text" name="inpTxt" value="d"> <input type="text" name="inpTxt" value="e"> <button type="button" onclick="disableTextBoxByName()">無効</button> </form> クラスを同じにする <form> <input type="text" name="inpTxt0" value="A"> <input type="text" class="inpTxt" name="inpTxt1" value="B"> <input type="text" class="inpTxt" name="inpTxt2" value="C"> <input type="text" class="inpTxt" name="inpTxt3" value="D"> <input type="text" class="inpTxt" name="inpTxt4" value="E"> <button type="button" onclick="disableTextBoxByClass(this.form)">無効</button> </form> </body> </html>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
いっかつでやっていいなら、typeを見るのが一番。 その中で選別してやりたいなら、classでチェック するといいでしょう <script language="javascript"> function enableText(f,flg){ for(var i=0;i<f.length;i++){ if(f[i].type=="text") f[i].disabled=flg; } } </script> <form> <input type="text"><br> <input type="text"><br> <input type="text"><br> <input type="text"><br> <input type="text"><br> <input type="button" value="使用可" onClick="enableText(this.form,false)"> <input type="button" value="使用不可" onClick="enableText(this.form,true)"> </form>
お礼
ご回答ありがとうございました。 シンプルなソースですね。 参考にさせて頂きます。
お礼
お礼が遅くなり失礼しました。 遅い時間にも関わらずありがとうございました。 ど素人のためクラスという概念がありませんでした。 非常に参考になりました。