채택완료

익스9에서 onClick 이벤트가 안먹을수도 있나요?

 

Copy
<table width="600" align="center" border="0" cellspacing="1" cellpadding="3" bgcolor="#8dde87">  	<tr><td colspan="2" height="1" bgcolor="#2c8424"></td></tr>	<tr>		<td bgcolor="#eefaed" width="35%" style="padding-left:10px;font-weight:bold;color:#2c8424;">* 현금영수증 발급</td>		<td bgcolor="#FFFFFF" style="padding-left:10px">			<input type="radio" name="wr_15" id="wr_15" value="신청"  itemname="현금영수증 신청" <?if($write[wr_15]=="신청")echo"checked";?> onclick="input(1);this.form.wr_16.required=true;this.form.wr_17.required=true;"> 			신청			<input type="radio" name="wr_15" id="wr_15 "value="미신청"  itemname="현금영수증 신청" <?if($write[wr_15]=="미신청")echo"checked";?> onclick="alert('현금영수증을 미신청 하셨습니다. 추후 수정 불가합니다.');input(2);this.form.wr_16.required=false;this.form.wr_17.required=false;"> 			미신청 		</td>	</tr>	</table>	<div style="relative; display:block;"> 	<div id="box1">	<table width="600" align="center" border="0" cellspacing="1" cellpadding="3" bgcolor="#8dde87">	<tr>		<td bgcolor="#eefaed" width="35%" style="padding-left:10px;font-weight:bold;color:#2c8424;">* 거래구분</td>		<td bgcolor="#FFFFFF" style="padding-left:10px">			<select name='wr_16' class='ed' itemname='거래구분' style="font-size:10pt; height:30px; padding:5px;">					<option value='' >유형선택</option>					<option value='소득공제' <? if($write[wr_16] == "소득공제") echo "selected"; ?>>소득공제(개인)</option>					<option value='지출증빙' <? if($write[wr_16] == "지출증빙") echo "selected"; ?>>지출증빙(사업자)</option>			</select>		</td>	</tr>	<tr>		<td bgcolor="#eefaed" width="35%" style="padding-left:10px;font-weight:bold;color:#2c8424;">* 현금영수증 발급번호</td>		<td bgcolor="#FFFFFF" style="padding-left:10px">		<input class=ed style="width:160px; font-size:11pt; height:20px; padding:5px; font-family: NanumGothic;" name=wr_17 itemname="발급번호" value="<?=$write[wr_17];?>" onkeydown="this.value=this.value.replace(/[^0-9]/g,'')"		maxlength=12 onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onblur="this.value=this.value.replace(/[^0-9]/g,'')"><br>*개인 소득공제는 휴대전화 번호, 사업자 지출증빙은 사업자번호만 <br>입력 가능(주민번호 카드번호 입력불가)				</td>	</tr>	</table>	</div>	<div id="box2" style="absolute; display:none;">      <table  width="600" align="center" border="0" cellspacing="1" cellpadding="3" bgcolor="#8dde87">	 <tr><td bgcolor="#eefaed" width="35%" style="padding-left:10px;font-weight:bold;color:#2c8424;">현금영수증을 미신청 하셨습니다. 추후 수정 불가합니다.</td></tr>	 </table>	</div>	</div>  <script type="text/javascript"> function input(temp) // 라디오 선택에 따라서 입력폼 전환{     if(temp==1)     {          document.getElementById("box1").style.display="";         document.getElementById("box2").style.display="none";     }else{         document.getElementById("box1").style.display="none";         document.getElementById("box2").style.display="";     }  } function fwrite_submit(f) // 현영 신청필수(onClick이벤트 발생위해){	if(!$("input[name='wr_15']").is(":checked")){		alert('현금영수증 구분을 선택해주세요.');		$("input[name='wr_15']").eq(0).focus();		return false;	}}</script>

 

위와 같이 wr_15에서 라디오로 신청을 클릭시에는 신청폼이 나타나고 그에 따라서 입력폼(wr_16,wr_17)이 필수 입력으로 바뀝니다.(여기까지는 익스9에서 잘됩니다.) 그런데 wr_15에서 미신청을 클릭을 하면 미신청 폼까지는 잘 나오는데 div로 숨겨놓은 wr_16하고 wr_17을 필수입력하라고 경고가 뜨네요. 만약 글쓰기시에 바로 미신청을 클릭하면 상관없는데 신청을 한번 클릭을 한뒤 미신청으로 가면은 필수입력하라고 경고가 뜹니다. 익스플로러 9에서만 그러구요... 왜그럴까요 ㅠㅠ

 

 

답변 4개 / 댓글 1개

채택된 답변
+20 포인트

아래처럼 jquery 코드로 바꾸어서 해보세요


this.form.wr_16.required=false --> $("input[name='wr_16']").attr("required", false)


this.form.wr_17.required=false --> $("input[name='wr_17']").attr("required", false)

 

다른 레이어에 가렸을 가능성이 있습니다. 체크해보세요. 

onclick이벤트가 브라우저에 따라 안먹히는게 아니구여

다른것과 충돌나거나 다른이벤트랑 문제가 생기면 이벤트가 발생하지않아야될것이

발생하고 반대의 현상도 나옵니다. 

function input( 이 함수이름을 다른 것으로 변경하세요. 

답변에 대한 댓글 1개

그래도 안되네요 ㅠㅠ

답변을 작성하려면 로그인이 필요합니다.