안녕하세요?
Rhymix를 감사하게 잘 사용중인 프로그래머도 웹디자이너도 아니고 일반 사용자입니다.
sketchbool5Rhymix 스킨을 사용하는 게시판에 확장변수 2개(m_ext_ids,m_ext_names)를 생성하고 같은 DB내에 별도로 생성된 Table에서 ID와 이름을 찾아 생성된 확장변수에 넣고 싶습니다.
다른 테이블의 내용을 찾아 최종적으로 input_names() 로 입력하면 게시판 화면에는 입럭되지 않고 있어서 어떤 부분이 잘못 되어 있는 지 답답하네요.... 혹시 게시판 모듈이나 스킨에서 입력을 방지하고 있지는 않는지 궁금합니다.
크롬 개발자도구의 콘솔에서 스크립트 오류는 발생하지 않고 있습니다.
<!-- sketchbool5Rhymix 스킨의 write_form.html --> <table cond="count($extra_keys)" class="et_vars exForm bd_tb"> <caption><strong><em>*</em></strong> <small>: {$lang->is_required}</small></caption> <tr loop="$extra_keys=>$key,$val"> <th scope="row"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th> <td>{$val->getFormHTML()} <input type="button" value="이름과 ID검색" onclick="find_names();return false" class="bd_btn m_no" /></td> </tr> </table> <!-- sketchbool5Rhymix 스킨의 write_form.html --> <!-- write_form.html 의 화면 표시내용 --> <input type="text" class="text rx_ev_text itx" name="extra_vars1" value=""> <input type="text" class="text rx_ev_text itx" name="extra_vars2" value=""> <input type="button" value="이름과 ID검색" onclick="find_names(); return false"> <script type="text/javascript"> function find_names() { var jURL = "./find_names.php"; var vlength = screen.height - 50; var windowprops = "height=" + vlength + ",width=550,location=no,scrollbars,status,resizable=yes"; window.open(jURL, "FindNames", windowprops); } </script> <!-- write_form.html 의 화면 표시내용 --> <!-- find_names.php --> <form action="/"> <!-- 이름과 ID를 찾아 selected_ids 및 selecteds_names에 입력하는 폼 --> </form> <input type="text" id="selected_ids" name="selected_ids" class="form-control"> <input type="text" id="selected_names" name="selected_names" class="form-control"> <a href="javascript:;" onclick="input_names();" class="btn btn-primary" role="button"> 이름입력 </a> <script type="text/javascript"> function input_names() { var ids = document.getElementById('selected_ids').value; var names = document.getElementById('selected_names').value; window.opener.document.getElementsByName('extra_vars1').value = names; window.opener.document.getElementsByName('extra_vars2').value = ids; } </script> <!-- find_names.php -->
getElementsByName 함수는 "Elements"에서 알 수 있듯이 기본적으로 여러 요소를 반환하는 함수입니다.
즉 name이 지정한 값인 요소가 단 하나더라도 배열 형태로 반환되므로 window.opener.document.getElementsByName('extra_vars1')[0]와 같이 사용하셔야 합니다.
다른 코드에 문제가 없다는 전제하에 위 부분만 수정되면 동작할것으로 보입니다.