2014-01-25 3 views
0

아래 프로그램은 특정 조건에서 표시 할 다양한 오류 메시지를 포함합니다. 이러한 조건은 PHP 코드를 통해 발견됩니다. 그 후에 필요한 JQuery 스크립트가 PHP에 표시되어 메시지가 나타납니다.JQuery 함수가 실행되지 않습니다.

처음에는 .warning 클래스의 모든 메시지가 숨겨집니다. 그런 다음 특정 조건이 충족되면이 클래스의 특정 ID가 표시됩니다. 아래는 관련 코드입니다.

<?php require_once 'connection.php'; ?> 
<!-- 
To change this template, choose Tools | Templates 
and open the template in the editor. 
--> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Create Account</title> 
     <link rel="stylesheet" type="text/css" href="Styles2.css"> 
     <script src="JQuery.js"></script> 
    </head> 
    <body> 

     <script> 

    $(document).ready(function(){ 

$('.warning').hide(); 

}); 


    </script> 

    <div class="unloggedheadingbar"> 

    </div> 

    <br> 

    <div class="createaccount"> 

     <center><h1>Create Account</h1></center> 

    <center><table> 
     <form action="create_account.php" method="post"> 

     <tr><td><font class="createaccountfont">Email</font></td><td><input type="text" name="Email" placeholder="[email protected]" value="<?php if(isset($_POST['Create'])){ echo $_POST['Email']; } ?>" class="createaccounttext"></td></tr> 
     <tr><td colspan="2"><br></td></tr> 
     <tr><td><font class="createaccountfont">Password</font></td><td><input type="password" name="Password" class="createaccounttext"></td></tr> 
     <tr><td colspan="2"><br></td></tr> 
     <tr><td><font class="createaccountfont">Confirm Password&nbsp;&nbsp;</font></td><td><input type="password" name="ConfirmPassword" class="createaccounttext"></td></tr> 

    </table></center> 

     <br> 

     <center><input type="submit" name="Create" value="Create Account" class="createButton" id="Create"></center> 

     </form> 

      <br>  

      <div class="warning" id="passwordMatchError"> 
       <center><font class="warningText">Your password confirmation must match with your original password!</font></center> 
      </div> 

      <div class="warning" id="emailFormatError"> 
       <center><font class="warningText">Your email must match the [email protected] format.</font></center> 
      </div> 

      <div class="warning" id="emailDuplicateError"> 
       <center><font class="warningText">An account under this email already exists.</font></center> 
      </div> 

     </div> 

    <?php 

    if(isset($_POST['Create'])){ 

     $email = $_POST['Email']; 
     $password = md5($_POST['Password']); 

     if(strpos($email, '@') !== TRUE){ 

      echo '<script> 

       $(".warning").hide(); 

       $("#emailFormatError").show(); 

        </script>'; 

     }elseif($_POST['Password'] != $_POST['ConfirmPassword']){ 

      echo '<script> 

       $(".warning").hide(); 

       $("#passwordMatchError").show(); 

        </script>'; 

     }else{ 

     $query = "SELECT * FROM user_table WHERE Email = '" . $email . "';"; 
     $result = mysqli_query($con, $query); 

     if(mysqli_num_rows($result) == 0){ 

     $query = "INSERT INTO user_table VALUES ('" . $email . "', '" . $password . "');"; 
     mysqli_query($con, $query); 

     }else{ 

      echo '<script> 

       $(".warning").hide(); 

       $("#emailDuplicateError").show(); 

        </script>'; 

     } 

     } 
    } 

    ?> 

</body> 

그러나, 특정 ID를 가진 개체가 실제로는 도시되지 않는다. 왜이 사람이 될 수 있는지 아는 사람 있습니까? 고맙습니다.

답변

1

jQuery를 조치, $(document).ready(function() {});에 배치해야합니다 즉 :

echo '<script>$(document).ready(function() { 
    $(".warning").hide(); 
    $("#emailFormatError").show(); 
});</script>'; 
+0

작동하는지, 감사합니다! – user2938543

관련 문제