login register Sysop! about ME  

2021년 12월 31일 18시 32분 00초,     조회수 : 463
  제목 : explore 구버전에서 작동하던게 edge, chrome에서 작동을 안하네요~
SEQ : 24108 글쓴이 : violin79j

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

function OPID_CHK(str){
data = "";    
inter = "'";

var strF =document.order_form
var strP =document.order_form.goods_chk.value.split("|")[8]

var goods_info =document.order_form.goods_chk.value
if(goods_info!=""){
	   	   str = strP.split(",")
	   //	   alert(str.length)
	   for (var k=0;k < str.length ;k++ )
	   {
data = data + '<select name="g_option" style="font-size:9pt" onchange="option_Echk()">'
data = data +  '<option value="" selected> ---- 선택 ---- </option>'
data = data + "</select><br>";

	   	   	   
if (document.layers) {
document.layers.textbox.document.write(data);
document.layers.textbox.document.close();
window.submenu03.style.display = "none";
}
else {
if (document.all) {
textbox.innerHTML = data;
window.submenu03.style.display = "none";
      }
   }

	   }
	   }

	   if(goods_info!=""){


	   for (var k=0;k < str.length ;k++ )
	   {
	   	   
	   	   	   if (parseInt(str.length) == 1)	   {
	   	   	   sel = strF("g_option");
	   	   	   }
	   	   	   else{
	   	   	   sel = strF("g_option")[k];
	   	   	   }

	   	   	    if(str!="" && strP != ""){
	   	   	   
	   	   	   	   var lis = eval('cg_'+str[k]+'_n');
	   	   	   	   var val = eval('cg_'+str[k]+'_v');

	   	   	   	   for(i=sel.length-1; i>=0; i--)
	   	   	   	   
	   	   	   	   sel.options[i] = null;
	   	   	   	   sel.options[0] = new Option(lis[0],val[0], '', 'true');
	   	   	   	   for(i=1; i<lis.length; i++)
	   	   	   	   	   sel.options[i] = new Option(lis[i],val[i]);
	   	   	    }
	   	   	    else{
	   	   	    	   for(i=sel.length-1; i>=0; i--)
	   	   	    	   sel.options[i] = null;
	   	   	    	   sel.options[0] = new Option(' ---- 선택 ---- ','', '', 'true');
	   	   	   	   sel.disabled =true;
	   	   	    }

	   }
	   }
	   	   else {
	   textbox.innerHTML = '<font color="red">제품 선택시 옵션이 보여집니다.</font>';

	   }
	   }


제품을 선택하면 등록된 제품의 옵션값을 불러와서 셀렉트 박스로 뿌려주게 되있는데
구버전 explore에선 작동을 잘하지만 edge, chrome에서는 에러가 발생합니다 ㅠ
sel = strF("g_option"); <-- 이 부분이 에러가 나서 sel = document.getElementsByName("g_option"); 으로 변경을 하
였더니 sel.options[0] = new Option(lis[0],val[0], '', 'true'); 이 부분에서 에러가 나네요..
개발자도구로 확인해보면
cannot set properties of underfined (setting '0') 이라고 뜹니다.
많이 부족하다보니 왜 에러가 뜨는지 잘 모르겠네요..  구버전과 최신버전 브라우저의 차이점이나 변경점이 있을까요?
참고로 구버전 브라우저에서도 상단부분에 <meta http-equiv="X-UA-Compatible" content="IE=edge"/> 적용시 에러 
발생합니다.


  wind1379
  2022-01-04(16:49)
캐릭 이미지
https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement/Option
위 경로를 참조해 보세요... [Mr.NET!]

  봔™
  2022-03-29(11:46)
캐릭 이미지
엣지부터는 크로미늄을 사용합니다. (크롬과 같은 엔진이지요) explore와는 엔진이 달라
서 크롬에서 잘 동작하는 코드로 변환을 해주어야 합니다. explore는 이제 역사속으로 사
라집니다.

sel = document.querySelector('[name=g_option]');

이렇게 바꾸시면 해결됩니다.

  violin79j
  2022-05-24(17:53)
답변 감사합니다. ^^


제목 작성자 날짜 조회
explore 구버전에서 작동하던게 edge, chrome에서 작동을 안하네요.. (3) violin79j 2021-12-31 463

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})