2013-12-04 3 views
3

Привет, ребята, я хочу показать конкретный DIV только после получения ответа от моего сервера. То, что я пытаюсь сделать, это функция восстановления пароля для моих пользователей ... Я получаю их зарегистрированный идентификатор электронной почты, а затем я проверяю его с моей базой данных, если он присутствует в моей базе данных, я отправляю сообщение обратно в div с указанием пароля был отправлен на ваш почтовый идентификатор. Если его незарегистрированный идентификатор электронной почты, я отправляю другое сообщение с сообщением об ошибке электронной почты.Как показать DIV только после получения ответа от сервера?

вот мои две дивы ...

ДИВ Чтобы получить мои пользователи электронной почты ID

<div id="fgpass" > 

        <div id="newpass"> 
         <div style="position: absolute;top: 10%;left: 10%;"> 
          <center><h2>PASSWORD RECOVERY</h2></center> 
          <h4> Enter Your Registered</h4> 


        <h4>E-Mail Address :</h4> 

        <f:view> 
         <h:form> 
         <center> 
          <h:inputText id="cmailid" required="true" value="#{forgotPass.mailid}"/> 
          <h:commandButton value="Submit" action="#{forgotPass.fpass}"> 

          </h:commandButton> 



         </center> 

        </div> 
        </div> 

          </h:form> 
       </div> 

      </div> 

DIV, чтобы показать сообщение с ответом сервера

<div id="msg" onclick="$('#msg').hide();"> 
      <div style="position: absolute;top: 20%;left: 2%;"> 
        <span style="font-size: medium;"> 
         <h:outputLabel value="#{forgotPass.finalresult}"/> 
        </span> 
      </div> 
    </div> 

Мой CSS

#fgpass { 
    position: absolute; 
    left: 65%; 
    top: 4%; 

    border-color: #009900; 
    border-width: 3px; 
    border-radius: inherit; 
    z-index: 800; 

} 
#newpass{ 
    position: absolute; 
    z-index: 1000; 
    height:160px; 
    width: 250px; 
    color: midnightblue; 

    visibility: hidden; 
    background-color: lavender; 
    -moz-border-radius: 8px; 
    border-radius: 8px; 
    border-width: 3px; 
    border-color:#444; 
} 
#msg { 
    z-index: 5000; 
    width:160px; 
    height: 150px; 
    -moz-border-radius: 8px; 
    border-radius: 8px; 
    border-width: 3px; 
    border-color:#444; 
    position: absolute; 
    left: 85%; 
    top:3%; 
    cursor: pointer; 
    background-color: navajowhite; 

} 

Моя проблема заключается в том, что msg DIV всегда отображается на экране всякий раз, когда страница загружается или перезагружается. Я хочу, чтобы он был видимым, только если он получил ответ от моего сервера. Есть ли какой-либо JQUERY или JAVASCRIPT или простой метод CSS для этого.

+0

Какую версию jsf вы используете? если его версия 2 или выше, используйте встроенную структуру ajax. иначе вы могли бы использовать ajax4jsf. использование jquery для отправки запроса ajax будет плохой идеей. – 757071

+0

@johny Я использую jsf и получаю результат, обращаясь к классу forgetPass.finalresult, а затем пытаюсь отобразить его в div .... – Vicky

ответ

1

Когда страница загружается, вам нужно скрыть div. Добавление дополнительного стиля к #msg будет делать

#msg 
{ 
    display: none; 
} 

Если вы используете AAJAX, чтобы получить ответ от сервера, то вы можете использовать следующий код

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

внутри обратного вызова функции успеха для запрос ajax. jQuery AJAX

1

Использование функции JQuery вы могли

$(document).ready(function(){ 
    $("#msg").hide(); 

    // later after ajax? 

    $.ajax(url).success (function(data) { 
     $("#msg").show(); 
     return false; 
    }); 
}); 
-1
<form method='post' action='#'> 
    <input type='text' name='email' placeholder="[email protected]"> 
    <input type='submit' name="send" value='submit'> 
</form> 
<?php 
//connect you database here 
//after user submits the email check if the email exits 

$sql = 'select * from yourtable where email='.$_POST['email']; 
$res = mysql_query($sql); 
if(mysql_count_rows($res)==1){ 
    ?> 
    <script> 
     var unhide_div = document.getElementById('mydiv'); 
     unhide_div.style.visibility = 'visible'; 

    </script> 

    <?php 

    }else{ 
     die('Email verification failed!!!'); 
     } 
?> 

Если электронная почта проверяется Ваше сообщение будет показано здесь !!

Смежные вопросы