개발 Q&A

제목 Form 두개 사용시 하나의 Form이 인식 안되는 문제 도와주세요 ㅠㅠ
글쓴이 예나아범 작성시각 2014/11/14 21:11:15
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 14528   RSS
기존 Bootstrap의 Modal을 사용해서 로그인 폼을 만들었습니다. 그리고 게시판을 만들면서 리스트 화면에 검색페이지를 구현했는데... 리스트 화면에서 모달을 띄우고 아이디와 비번을 입력하면 값이 전달이 안되는지... 로그인이 안되네요 ㅠㅠ 다른 페이지들에서 정상적으로 로그인되고, 리스트 화면에서 검색 폼을 지우고 돌리면 로그인 되는 걸 보니 Form태그가 두개가 겹쳐서 그런거 같습니다. 여러 곳을 찾아 봤는데 name 값을 다르게 설정하면 될거라고 해서 해봤지만 안되네요 ㅠㅠ 고수님들 좀 도와주세요.

list 페이지 Form 및 submit JS
<script>
//<![CDATA[
  $( document ).ready( function() {
   $('#search_btn').click(function(){
    
    if ($('#q').val() == '')
    {
     alert('검색어를 입력하세요.');
     return false;
    }
    else
    {
     var strobj = $('#q').val();
     var re = /[~!@\#$%^&*\()\=+_'.`\-|,?<>:;\/\"\[\]\{\}\\]/gi;
     if (re.test(strobj))
     {
      alert('검색어에 특수문자를 사용할 수 없습니다.');
      return false;
     }
     else
     {
      var act = '/asboard/lists/q/'+$('#q').val()+'/page/1';
      $('#bd_search').attr('action', act).submit();
     }
    }
   });
  });
//]]>
</script>



<div class="row">
            <div class="col-md-offset-6 col-md-6" style="margin-bottom:10px;">
<?php
 $attributes = array('id' => 'bd_search', 'name' => 'bd_search', 'method' => 'post');
 echo form_open('', $attributes);
?>              
       <div class="input-group form-search">
      <input type="text" class="form-control search-query" name="search_word" id="q" placeholder="검색할 제목, 내용 혹은 글쓴이를 입력하세요.">
                  <span class="input-group-btn">
                    <button type="submit" id="search_btn" class="btn btn-info">Search</button>
                  </span>
                </div>
              <form>
   </div>
          </div>

list 페이지 하단 로그인 Modal
    <!-- Login Modal -->
    <div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <h4 class="modal-title" id="myModalLabel">펭귄위키 로그인</h4>
          </div>
          <div class="modal-body text-left">
      <!-- Login Form -->
<?php
  $attributes = array('id' => 'auth_login', 'name' => 'auth_login', 'role' => 'form');
  $authurl = 'weike/auth/'.$this->uri->uri_string();
  echo form_open($authurl, $attributes);
?>
              
     <div class="form-group">
                <label for="exampleInputEmail1">이메일 주소</label>
                <input type="text" class="form-control" id="exampleInputEmail1" name="email" placeholder="가입시 등록한 이메일주소">
              </div>
              <div class="form-group">
                <label for="exampleInputPassword1">비밀번호</label>
                <input type="password" class="form-control" id="exampleInputPassword1" name="password" placeholder="비밀번호">
              </div>

              <button type="submit" class="btn btn-primary" id="login_btn">로그인</button> <button type="button" class="btn btn-default" onclick="location.href='/weike/cancel/<?php echo $this->uri->uri_string(); ?>'">닫기</button>
            </form>

          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-danger">비밀번호찾기</button>
            <button type="button" class="btn btn-warning">회원가입</button>
          </div>
        </div>
      </div>
    </div>
 다음글 서브 도메인 추출방법을 알려주실수 있으신가요? (1)
 이전글 foreach 질문... (3)

댓글

예나아범 / 2014/11/14 22:53:14 / 추천 0
추가질문!
위의 문제는 Firefox 웹분석기를 통해 보니까 로그인 Modal 내 폼태그가 소스에는 있지만 elements에서는 사라졌더라구요. 그래서 list 페이지에 jquery로 modal-body 클래스에 id를 설정하고 html Method로 아래처럼 똑같이 집어넣었더니 로그인이 됩니다.
 
$( document ).ready( function() {
   $('#modalbody').html('<form action="http://www.qieweike.co.kr/weike/auth/<?php echo $this->uri->uri_string(); ?>" method="post" accept-charset="utf-8" id="auth_login" name="auth_login" role="form"><div style="display:none"><input type="hidden" name="<?= $this->security->get_csrf_token_name() ?>" value="<?= $this->security->get_csrf_hash() ?>" /></div><div class="form-group"><label for="exampleInputEmail1">이메일 주소</label><input type="text" class="form-control" id="exampleInputEmail1" name="email" placeholder="가입시 등록한 이메일주소"></div><div class="form-group"><label for="exampleInputPassword1">비밀번호</label><input type="password" class="form-control" id="exampleInputPassword1" name="password" placeholder="비밀번호"></div><button type="submit" class="btn btn-primary" id="login_btn">로그인</button> <button type="button" class="btn btn-default" onclick="location.href='+'/weike/cancel/<?php echo $this->uri->uri_string(); ?>'+'">닫기</button></form>');
});


그런데 저렇게 form 태그가 elements에서 사라지는 이유를 혹시 아시는 분 계세요???