CI 묻고 답하기

제목 View 에서 소비할 javascript 위치..
글쓴이 다솔 작성시각 2014/02/28 18:12:12
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13359   RSS
 초보입니다. 읽어 주셔서 감사합니다.
도움을 많이 받고 있으나, CodeIgniter가 처음이라 조금 어렵네요.

간단한 질문입니다.

view(아래 test_v) 상단에        
<script language="javascript">
         function select_test() {
               alert("dddddd");
          }
</script>

<select name='sel_assignstatus' id='sel_assignstatus' size='1' onchange="select_test()">

이렇게 처리하면
undefind 에러가 나면서 작동을 하지 않고, 헤드역할을 하는 VIEW에 스크립트를 넣으면 작동을 하네요.
결론적으로,  VIEW 마다 사용 스크립트 종류가 다른데 이를 헤더 View에다가 다 몰아 넣을수는 없어서..

이런 경우 효과적인 처리 방안이 있는지요?

콘트롤러 구조는 아래와 같습니다..

            //헤더 include
                $this->load->view('header_v'); <-여기에 넣으면 작동합니다.
            //Top Menu
                $menu = $this->topmenu_m->getmain();
                $this->load->view('topmenu_v', $menu);
            //내용페이지 include
                $this->load->view('test_v'); <- 여기서 사용하는 자바 스크립트 입니다.
            //푸터 include
            $this->load->view('footer_v');    

감사합니다.
태그 자바스크립트
 다음글 호출된함수에서, 부모모델의 함수 호출 (load->... (2)
 이전글 다중업로드가 잘되지않습니다 (4)

댓글

변종원(웅파) / 2014/02/28 18:31:41 / 추천 0
id='sel_assignstatus' 이 값을 이용하는 자바스크립트가 다른 곳에 있는건 아닐까요?
다솔 / 2014/03/01 14:50:59 / 추천 0
답변감사합니다.
답변에 힌트를 얻어서 원인을 찾기는 했는데 좀 문제가 있긴 하네요.. 위치 문제가 아니고 스크립트내에서 PHP 변수 참조 문제였습니다.
위의  function select_test() 에 실제 코드에서는
자바스크립트 location.href="?search_items=<?=$SEARCH_DATA2?>" 이 있는데

View 상단에 <? $SEARCH_DATA2 = 'ddd'; ?> 처럼 초기화가 되면 정상작동하고 , 초기화가 안되어 있으면 스크립트 전체가 작동을 안합니다.
1. 헌데, 스크립트 부분을 js 파일로 만들어서 View 상단에 넣으면 또 괜찮네요..
2. Codeigniter 가 아닌 일반 php 코딩에서는 스크립트를 직접 넣어도 잘 작동합니다.

결론적으로 PHP변수 선언및 초기화 관련문제인 것 같습니다. 모든 PHP 변수를 선언 후 사용해야 하는건가요? ㅋ 기초가 부족

어쨌든 실마리를 찾았으니 감사드립니다.
수고하시고, 웅파님 책과 사이트에서 도움 많이 받고 있습니다. 수고하세요!