2013-07-06 2 views
0

간단한 폼 제출이 있고 process.php 파일에서 각 필드의 유효성을 검사합니다. 실패 할 경우 $ _SESSION에서 키/값 쌍을 사용하여 로그인 페이지에 경고 메시지를 표시합니다.PHP 이벤트 용 jQuery 리스너

페이지가로드 될 때 .hide로 설정된 div (일부 부트 스트랩 스타일이있는 경우)에 경고 메시지가 표시됩니다.

PHP echo를 감지하고 경고창을 .toggle 처리하는 데 사용할 수있는 jQuery 함수 또는 이벤트 리스너가 있습니까?

을 Heres 내 관련 코드는 스탠드로 :

<div class="alert alert-error alert-block" id="error-box"> 
    <?php 
     if (isset($_SESSION['first_name'])) { 
     echo $_SESSION['first_name']; 
     } 

     if (isset($_SESSION['last_name'])) { 
     echo $_SESSION['last_name']; 
     } 

     if (isset($_SESSION['email'])) { 
     echo $_SESSION['email']; 
     } 

     if (isset($_SESSION['passlen'])) { 
     echo $_SESSION['passlen']; 
     } 

     if (isset($_SESSION['passmatch'])) { 
     echo $_SESSION['passmatch']; 
     }   
?> 
</div> 

그리고 :

$(document).ready(function(){ 
    if ($.trim($("#error-box").text()).length < 1) { 
     $("#error-box").hide(); 
    } 
} 
+0

jQuery와 PHP는 동시에 처리하지 않습니다. 하나는 서버 측이고 다른 하나는 클라이언트 측입니다. 오류 상자가 비어 있는지 확인할 수 있습니다. 그렇다면 숨기십시오 (원하는 내용을 모르지만) –

답변

0

간단한 일이 #error-box 어떤 텍스트가 포함되어 있는지 확인하는 것입니다 PHP 코드가 실행되고 번역 된 후에 서버와 자바 스크립트가 브라우저에서 실행됩니다. ~에 html. javascript로 숨기기/표시하기보다는 오류가있는 경우에만 오류 메시지를 삽입하십시오.

<?php 
// validate your form 

if ($errors) : ?> 
<div class="alert alert-error alert-block" id="error-box"> 
    print your errors 
</div> 
<?php endif; ?> 

그럼 당신은 아무것도 표시/숨기기 자바 스크립트가 필요하지 않습니다.

+0

그 중 하나가 승리합니다. 고마워. 또한 몇 가지 새로운 jQuery 명령을 배웠다. – JDillon522

0

PHP가 실행 :

<script> 
    $(document).ready(function(){ 
     $("#error-box").hide();  
}); 
</script> 
0

내가 잘못 생각한 것 같습니다. 당신은 간단한 양식을 가지고 있다고 말하면서 아약스를 사용하지 않기를 기대합니다. 그래서 PHP 스크립트를 호출하여 페이지를 새로 고침하고 필요한 경우 상자를 표시 할 수 있습니다.

<?php $fields = array('first_name', 'last_name', 'email', 'passlen', 'passmatch');?> 

<?php if ($_SESSION['first_name'] || $_SESSION['last_name'] || $_SESSION['email'] || $_SESSION['passlen'] || $_SESSION['passmatch']): ?> 

    <div class="alert alert-error alert-block" id="error-box"> 
     <?php 
      foreach($fields as $_field){ 
       if (isset($_SESSION[$_field])) { 
       echo $_SESSION[$_field]; 
       } 
      } 

    ?> 
    </div> 

<?php endif; ?> 

글쎄, 더 잘할 수는 있지만 말하고 싶은 것을 보여줍니다!