2017-08-06 4 views
0
<div class="member_management_area" style="display:none"> 
    <div class="member_search"> 
     <a class="member_search_zone"> 
      <span class="glyphicon glyphicon-menu-hamburger searchMenuyo" aria-hidden="true"></span> 
      <span name="searchMenu" id="searchMenu">검색 유형을 선택하세요</span> 
     </a> 
     <input type="text" name="keyword"> 
      <a class="memberSearch_bt"> 
       <span class="glyphicon glyphicon-search" aria-hidden="true"></span> 
      </a> 
      <select id="choiceSearchMenu" name="type" onchange="menuDisplay(this.form)"> 
       <option value="0"> ---- 선택하세요 ---- </option> 
       <option value="1">아이디로 검색</option> 
       <option value="2">끝 번호로 검색</option>  
      </select> 
    </div> 
</div> 

$('.searchMenuyo').click(function() 
{ 
    $('#choiceSearchMenu').slideDown(); 
}); 

$('#choiceSearchMenu').mouseout(function() 
{ 
    $('#choiceSearchMenu').slideUp(); 
}); 

function menuDisplay(frm) 
{ 
    var menu = frm.type.selectedIndex; 
    console.log(menu); 

    if(menu == 1) 
    { 
     document.getElementById('searchMenu').innerHTML('Search ID'); 
    } 

    if(menu == 2) 
    { 
     document.getElementById('searchMenu').innerHTML('Search Last PhoneNumber'); 
    } 
} 

enter image description hereJavascript TypeErrorを取得するには?

あなたはslideDown]メニューから[オプションの値を選択した場合は、 値は変更しましたが、VARメニュー= frm.type.selectedIndexに継続する必要があります。 この部分では、キャッチされていないTypeError:nullのプロパティ 'type'を読み取れません。

このエラーはなぜ発生し、どうすれば解決できますか?

私が助けてくれれば幸いです。

+1

これは、変数 'frm'が未定義であることを意味します。つまり、関数が呼び出されたときに関数がフォーム要素を取得していないことを意味します。 – Nisarg

+0

フォームタグがなかったため、エラーが発生しました。そこでフォームタグを追加してプロジェクトを実行しましたが、今回はdocument.getElementById( 'searchMenu')です。 InnerHTML( '検索ID');この文章で、Uncaught TypeError:document.getElementById(...)。 InnerHTMLは関数ではありません。このエラーはなぜ発生しますか? @NisargShah –

+1

これは 'innerHTML'が関数ではないからです。 'document.getElementById( 'searchMenu')。innerHTML = '検索ID';' – Nisarg

答えて

1

エラー "キャッチされないTypeError:nullのプロパティ 'type'を読み取れません"は、frm変数が未定義であることを意味します。意味、onchangeイベント中に関数が呼び出されたときに値を取得していません。

var menu = frm.type.selectedIndex; 

また、innerHTMLについてあなたのクエリについて、あなたはこのようにその値を設定できます

document.getElementById('searchMenu').innerHTML = 'Search ID'; 
関連する問題