회원가입폼 스크립트 오류(prototype.js 충돌) 관련 문의

2015-01-15 (목) 01:15:42 4,399

회원가입폼(register_form.skin.php)에서 prototype.js 와 jquery 가 충돌나는 스크립트 오류가 뜹니다.

같이 사용할수 있는 방법이 있다고 들었는데, 어느 파일 어느 부분을 수정해야할지 잘 모르겠네요. ㅠㅠ

고수님들의 답변 부탁드립니다.

Copy
<?if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 ?>
<style type="text/css"><!--.m_title    { BACKGROUND-COLOR: #F7F7F7; PADDING-LEFT: 15px; PADDING-top: 5px; PADDING-BOTTOM: 5px; }.m_padding  { PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; }.m_padding2 { PADDING-LEFT: 0px; PADDING-top: 5px; PADDING-BOTTOM: 0px; }.m_padding3 { PADDING-LEFT: 0px; PADDING-top: 5px; PADDING-BOTTOM: 5px; }.m_text     { BORDER: #D3D3D3 1px solid; HEIGHT: 18px; BACKGROUND-COLOR: #ffffff; }.m_text2    { BORDER: #D3D3D3 1px solid; HEIGHT: 18px; BACKGROUND-COLOR: #dddddd; }.m_textarea { BORDER: #D3D3D3 1px solid; BACKGROUND-COLOR: #ffffff; WIDTH: 100%; WORD-BREAK: break-all; }.w_message  { font-family:돋움; font-size:9pt; color:#4B4B4B; }.w_norobot  { font-family:돋움; font-size:9pt; color:#BB4681; }.w_hand     { cursor:pointer; }--></style>
<script>var member_skin_path = "<?=$member_skin_path?>";</script>
<script language="javascript" src="<?=$g4['path']?>/js/prototype.js"></script><script language="javascript" src="<?=$member_skin_path?>/ajax_register_form.js"></script><script language="javascript" src="<?=$g4[path]?>/js/md5.js"></script><script language="javascript" src="<?=$g4[path]?>/js/sideview.js"></script>​
--- 이하 생략
|

답변 3개

자동등록방지 캡챠를 jquery.kcaptcha.js 를 사용하신다면 prototype.js는 제거하셔도 될겁니다.

또는 jquery.kcaptcha.js 에서도 $ 이걸 jQuery 로 변경하심이..

그리고 jquery를 1.9 이상 사용하시는 거라면 하위버전 호환을 위해 jQuery Migrate plugin도 같이 로딩하시는게 좋습니다.

<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 

2015-01-15 (목) 13:20:58

답변 감사합니다. 그런데, 그누보드의 다른 페이지에서는 스크립트 오류가 나지 않는데, 회원가입폼(register_form.skin.php)​에서만 아래와 같이 스크립트 오류가 납니다. 어느 부분을 수정해야 할까요.

7456cd9ed658c23a1023bc4d9541c746_1421295639_7643.gif 

에러나는 스크립트의 라인을 찾아서 jquery인경우 $() 이런걸 jQuery() 이렇게 바꿔주시면 될겁니다.

ex) $(document).ready(function(){}) 또는 $(function(){})

     => jQuery(document).ready(function(){}), jQuery(function(){})

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