2012-08-30 40 views
0

當我輸入輸入文本框再次顯示,我不知道如何解決。下面是輸出的屏幕截圖:如何在文本框再次顯示on模糊事件後進行修復?

enter image description here

後的模糊

這裏是我的代碼又是表演,我不知道如何解決這個問題。雖然我的功能return falsecheck_email功能運作良好

<!DOCTYPE HTML> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Amateur</title> 
     <link rel="stylesheet" href="css/reset.css" type="text/css"> 
     <script src="http://code.jquery.com/jquery-1.8.0.js"></script> 
     <script> 
      function check_email() { 
       var email=$("#txtEmail").val(); 
       $.ajax(
       { 
        type:"POST", 
        url:"index.php", 
        data: "email="+email, 
        success:function(msg) { 
         $("#chkEmail").html(msg); 
        } 
       }); 
       return false; 
      } 
     </script> 
    </head> 

    <body> 
    <form method="post"> 
     <label for="txtEmail">E-mail:</label> 
      <input id="txtEmail" name="email" type="email" onblur="return check_email()"> 
     <label id="chkEmail" for="txtEmail"></label> 
     <?php 
     if(isset($_POST['email'])) 
     { 
      $user='root'; 

      $pdo=new PDO('mysql:host=localhost;dbname=class;charset=utf8',$user); 

      $email=$_POST['email']; 

      $stmt=$pdo->prepare('SELECT user_email from tbl_users WHERE user_email=:email LIMIT 1'); 
      $stmt->execute(array(':email'=>$email)); 

      if($stmt->rowCount()>0) { 
       echo 'E-mail already use.'; 
      } 
      else { 
       echo 'E-mail not use.'; 
      } 
     } 
     ?> 
    </form> 
    </body> 
    </html> 
+1

Html,js,php都在一個文件中。在你不知道你住在哪裏之後,確保那些支持這些代碼的人。 – zerkms

+0

+ SQL對於額外的點 –

+0

LOL,有什麼問題? :( - –

回答

1

像這樣改變你的代碼。問題是你將數據發佈到你所在的同一頁面,並且獲得了整個代碼作爲你對AJAX請求的響應。所以如果你在POST上退出執行,你只會得到相關的消息。

<?php 
     if(isset($_POST['email'])) 
     { 
      $user='root'; 

      $pdo=new PDO('mysql:host=localhost;dbname=class;charset=utf8',$user); 

      $email=$_POST['email']; 

      $stmt=$pdo->prepare('SELECT user_email from tbl_users WHERE user_email=:email LIMIT 1'); 
      $stmt->execute(array(':email'=>$email)); 

      if($stmt->rowCount()>0) { 
       echo 'E-mail already use.'; 
      } 
      else { 
       echo 'E-mail not use.'; 
      } 
      exit; 
     } 
     ?><!DOCTYPE HTML> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Amateur</title> 
     <link rel="stylesheet" href="css/reset.css" type="text/css"> 
     <script src="http://code.jquery.com/jquery-1.8.0.js"></script> 
     <script> 
      function check_email() { 
       var email=$("#txtEmail").val(); 
       $.ajax(
       { 
        type:"POST", 
        url:"index.php", 
        data: { 
      'email': email 
       }, 
        success:function(msg) { 
         $("#chkEmail").html(msg); 
        } 
       }); 
       return false; 
      } 
     </script> 
    </head> 

    <body> 
    <form method="post"> 
     <label for="txtEmail">E-mail:</label> 
      <input id="txtEmail" name="email" type="email" onblur="return check_email()"> 
     <label id="chkEmail" for="txtEmail"></label> 

    </form> 
    </body> 
    </html> 
+0

什麼是給定的源代碼的文件名?是它的index.php? –

+0

在那裏等待是你的POST –

+0

是的問題,是的,index.php ..我真的需要把PHP腳本以外的HTML? –

-1

添加

$("#txtEmail").hide(); 

這是你的意思?

+0

沒有先生,輸出應該只有一行,錯誤應該顯示內聯[email protected] –

+0

編輯這個問題 –

相關問題