안녕하세요.
제가 해결을 못해서 질문드립니다..
제가 팝업창하단에 오늘하루 열지 않기 체크박스를 추가하려고 합니다.
우선 문제가 되는 부분이
<label><input type="checkbox" name="Notice" onChange="notice_closeWin();">오늘은 이 창을 다시 열지 않음</label>
이렇게 체크박스가 있고 체크박스를 선택한 후에
function notice_closeWin(){
alert("notice_closeWin");
}
이렇게 자바스크립트를 실행하려고 하는데
오류: 'notice_closeWin'이(가) 정의되지 않았습니다.
라는 에러가 뜹니다..
<input type="checkbox" name="Notice" onChange="notice_closeWin();">이 부분을
온클릭으로도 했었는데 되지 않았고 , 온클릭은 ie7에서 실행이 안된다고 해서 onchange로 바꿨습니다.
onChange="notice_closeWin(this)"
onChange="notice_closeWin()"
onChange="notice_closeWin();"
onChange="javascript:notice_closeWin()" ..
이런식으로 수정을 했었는데 다 정의되지 않았다고 합니다..;
체크박스에서 선택을 한 후에 바로 자바스크립트를 실행하려면 어떻게 체크박스를 만들어야 하나요?
답변부탁드립니다. 감사합니다.
notice_closeWin 함수의 위치가 의심되네요.
소스를 한번 봤으면 좋겠어요
<meta charset="utf-8">
<head>
<script type="text/javascript">
function close(){
var host=window.opener;
window.focus(); /* solves the iPad3 problem */
window.close(); /* the actual closing we want to achieve... */
/* makes the focus go back to opener on iPad2, fails silently on iPad3 */
try { host.focus(); } catch() {}
}
function notice_setCookie(name,value,expiredays){
var todayDate = new Date();
todayDate.setDate(todayDate.getDate()+expiredays);
document.cookie = neme + "=" + escape(value)+ "; path=/; expires=" + todayDate.toGMTString()+ ";"
}
function notice_closeWin(){
alert("notice_closeWin");
if(document.form1.Notice.checked){
notice_setCookie("Notice","done",1);//1=팝업하루동안제한
}
self.close();
}
function na_call(str){
eval(str);
}
</script>
<style>
html, body {overflow-x: hidden; overflow-y: auto;}
img {max-width: none; display: block;}
</style>
</head>
<body>
<form name ="form1">
<div>
<img src="/popup/img.jpg" usemap="#map1" alt="브라우저 업그레이드 권장 안내" />
<label><input type="checkbox" name="Notice" onChange="notice_closeWin();">오늘은 이 창을 다시 열지 않음</label>
</div>
<map name="map1">
<area shape="rect" coords="440,0,500,55" href="javascript:close()" alt="close" />
</map>
</form>
</body>
이렇게 했습니다. html파일입니다..
페이지 로딩시에 11번째 줄에 try구문에서 에러가 나서
밑에 함수가 생성이 안된모양이네요.
try구문 제거하고 해보셔요
와.. close()는 실행이 안되지만
체크박스는 알럿창이 뜹니다
제가 시야가 너무 좁았나 봅니다..제가 한 부분도 아니고 에러로 보이지 않아서 살펴보지 않았습니다.
감사합니다.
그런데 try { host.focus(); } catch() {} 여기에서 에러가 난 것은 어떻게 알 수 있나요?
html로 열어보니 콘솔에 찍히더라구요
'나의질문답' 카테고리의 다른 글
mysql count , rownum 질문입니다. (0) | 2016.09.29 |
---|---|
ajax data출력 질문드립니다. (0) | 2016.01.06 |
지도에서 위경도 값 얻어오기 (0) | 2015.11.09 |
ie9 ,ie10호환성체크 확인방법이 있나요? (0) | 2015.11.02 |
새글등록 제한시간에 관해 여쭤볼 것이 있습니다. (0) | 2015.11.02 |