2014-01-25 84 views
0

下面的程序包含在特定條件下顯示的各種錯誤消息。這些條件可以通過PHP代碼找到,然後在PHP中回顯必要的JQuery腳本以顯示消息。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