• ベストアンサー

テキストボックスの無効化について

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; } } 上記ソースの形式ではラジオボタンの無効化をループさせて行なっていますが、このような形式で複数のテキストボックスを無効化させることは出来ませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

テキストボックスの名前を同じにする方法と テキストボックスのクラス名を同じにする方法 でサンプルを作ってみました どっちかというと、クラス名でくくりを同じくするのがいいんじゃないかと思います。 ---------------------------------------------------------------- <!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>

t_t1112
質問者

お礼

お礼が遅くなり失礼しました。 遅い時間にも関わらずありがとうございました。 ど素人のためクラスという概念がありませんでした。 非常に参考になりました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

いっかつでやっていいなら、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>

t_t1112
質問者

お礼

ご回答ありがとうございました。 シンプルなソースですね。 参考にさせて頂きます。