CGI-BBS > JAVA/JavaScript > JavaScript > ラジオボタンの非表示設定が表示されてしまう場合


カレッヂ
カレッヂ


質問者 初心者  投稿日 2006/3/9(木) 09:52:57
初めまして。
現在研修の申込フォームを作成しています。
研修内容をプルダウンメニューから選択させ、その研修によって
宿泊の有無を選択させるラジオボタンのフォームです。
宿泊不可の研修の場合 → 宿泊のラジオボタンが入力不可の状態
宿泊OKの研修の場合  → 宿泊のラジオボタンが入力可の状態
です。

正常に動作するPCとしないPCがあり、しないPCではIEの設定を既定のレベルに戻したり
キャッシュの削除をしたりと一般的な確認はしてみましたが、だめでした。

力をお貸しください。よろしくお願いします。


<SCRIPT LANGUAGE="JavaScript">
<!-- 
  function selectChange() {
    var selectedNum = document.order.KENSYU_NAME.selectedIndex;
    var i;
    var len = document.order.KITUEN.length;
    if(selectedNum == 7) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 9) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 16) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 18) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 28) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 29) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 30) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else if(selectedNum == 31) {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = false;
      }
} else {
      for(i=0;i<len;i++) {
        document.order.KITUEN[i].disabled = true;
      }
    }
  }
// -->
</SCRIPT>

【習熟度】多少の設置経験

回答者 m035  [削除]  投稿日 2006/3/9(木) 14:35:49
function selectChange(){
    var selectedNum=document.order.KENSYU_NAME.selectedIndex;
    var len=document.order.KITUEN.length;
    switch(selectedNum){
        case 7:
        case 9:
        case 16:
        case 18:
        case 28:
        case 29:
        for(var i=0;i<len;i++){
            document.order.KITUEN[i].disabled=true;
        }
        break;
        default:
        for(var i=0;i<len;i++){
            document.order.KITUEN[i].disabled=true;
        }
    }
}

以上のようにswitch文を使えば簡単です。
質問者 初心者  [削除]  投稿日 2006/3/9(木) 16:02:29
早速の回答ありがとうございます。
ソースをコピーして確認してみたのですが、駄目でした。

function selectChange(){
    var selectedNum=document.order.KENSYU_NAME.selectedIndex;
    var len=document.order.KITUEN.length;
    switch(selectedNum){
        case 7:
        case 9:
        case 16:
        case 18:
        case 28:
        case 29:
        for(var i=0;i<len;i++){
            document.order.KITUEN[i].disabled=true; ←ちなみにfalseでは?
        }
        break;
        default:
        for(var i=0;i<len;i++){
            document.order.KITUEN[i].disabled=true;
        }
    }
}
回答者 m035  [削除]  投稿日 2006/3/10(金) 20:59:38
>ちなみにfalseでは?
そのとおりでした。
間違いです。

返信(回答)する

 


Web裏技