2012-12-19 19 views
7

Na mojej stronie htm chcę użyć przycisku, który przesłać mój formularz za pomocą funkcji. Używam walidacji na moich polach, a kiedy naciśnie przycisk Prześlij wyświetla komunikat o błędzie, ale nie zachowuje ostatnich wartości, to odświeża mój formularz. Chcę tylko, aby wprowadzone wartości były tam obecne i zniknie tylko pole zawierające tylko komunikat o błędzie. wszystkie pozostałe pola pozostają tam. Oto mój kod:Nie chcę odświeżać i zachować ostatnio wstawionych wartości

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html> 
    <head> 
    <!--<meta http-equiv="refresh" content="text/html; charset=iso-8859-1" />--> 
    <!-- 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    --> 
    <title>Phone Registration</title> 
    <link rel="stylesheet" type="text/css" href="file:///C|/xampp/htdocs/track/css/view.css" media="all"/> 
    <script type="text/javascript" src="file:///C|/xampp/htdocs/track/javascript/view.js"></script> 
    <script type="text/javascript" src="file:///C|/xampp/htdocs/track/javascript/external.js"></script> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" /> 
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 

    <script> 
     $(function() { 
      $("#datepicker").datepicker(); 
     }); 
     </script> 

    </head> 
    <body id="main_body" > 
     <img id="top" src="file:///C|/xampp/htdocs/track/images/top.png" alt=""/> 
      <div id="form_container"> 
      <h3> 
       <a href="file:///C|/xampp/htdocs/track/phonereg.php">Phone Registration</a> 
       <a href="file:///C|/xampp/htdocs/track/officerreg.php">Officer Registration</a> 
       <a href="file:///C|/xampp/htdocs/track/customerreg.php">Customer Registration</a> 
       <a href="file:///C|/xampp/htdocs/track/taskentry.php">Task Entry</a> 
      </h3>  
      <form name="order" id="form_532698" class="appnitro" method="post" action="" > 
       <div class="form_description"> 
       <h2>Phone Registration</h2> 
      </div>      
      <ul > 
       <li> 
       <span> 
       <label class="description">IMEI # : </label> 
       <input name="imei" id="imeinum" class="element text medium" type="text" maxlength="15" value=""/> 

       </span> 
       </li> 
       <li> 
       <span> 
       <label class="description" >Phone Number </label> 
       <input name="phone" id="phnum" class="element text medium" type="text" maxlength="11" value="" onblur="validate(this)"/> 

       </span> 
       </li> 
       <li> 
       <span> 
       <label class="description" >From Date </label> 
       <input id="datepicker" name="fdate" class="element text medium" maxlength="10" value="" type="text"/> 
       </span> 
       </li> 
       <li> 
       <span> 
       <label class="description" for="element_4">Active </label> 
       <input name="r1" id="rad" class="element radio" type="radio" value="Yes" checked="checked" /> 
       <label class="choice">Yes</label> 
       <input name="r1" id="rad" class="element radio" type="radio" value="No" /> 
       <label class="choice">No</label> 
       </span> 
       </li> 

       <li> 
       <input type="button" name="save" value="Save" /> 
       </li> 

       <!-- 
       <li class="buttons"> 
        <input type="hidden" name="form_id" value="532698" /> 
        <input class="button_text" type="submit" name="save" value="Save" id="" /> 
        &nbsp;<input class="button_text" type="reset" name="cancel" value="Cancel" /> 
        &nbsp;<input class="button_text" type="submit" name="search" value="Search" id="" /> 
        &nbsp;<input class="button_text" type="submit" name="up" value="Update" id="" /> 
        &nbsp;<input class="button_text" type="submit" name="del" value="Delete" id="" /> 
       </li> 
       --> 
      </ul> 
      </form> 
    </div> 
    <img id="bottom" src="file:///C|/xampp/htdocs/track/images/bottom.png" alt=""/> 

    <script type="text/javascript" language="JavaScript"> 
//submit form 
document.order.submit(); 
</script> 
    </body> 

</html> 

Prosimy kierować mi jak mogę to zrobić ?? Będę wdzięczny

Odpowiedz

0

Można użyć tego kodu, aby zapobiec formularza z wysłaniem do serwera, jeśli uwierzytelnienie nie powiedzie:

$("form").on("submit", function(event){ 
    if(!isValidForm($(this)){ 
    event.preventDefault(); 
    } 
}); 

supposingly isValidForm() metoda wykonuje selektor formularza i zwraca true, jeśli forma jest ważna i false jeśli nie jest.

0

użytku e.preventDefault(); lub return false;

+0

Czy myślisz, że to zrobi? –

+0

@VytautasButkus yup jeśli użyjesz 'return false;' zrobi to? masz jakiekolwiek wątpliwości. – Ghostman

+0

Możesz trochę wyjaśnić, w jaki sposób OP może użyć tego fragmentu kodu. –

0

Sprawdź walidacji jest sukces lub nie w $ (function()) jeśli nie to return false w tym .. else return true ...

<script> 
$(function() { 
    $("#datepicker").datepicker(); 
    if(!validation) { 
     return false; 
    } 
    return true; 
}); 
</script> 
0

Istnieją 2 główne sposoby zrobienia tego: PHP (po stronie serwera) i javascript (po stronie klienta).

Rozwiązanie PHP nie jest tak czysty, trzeba odświeżyć stronę, sprawdź wartości tam i ustawić prawidłową value w każdym wejściu (usuwanie te, które chcesz usunąć)

kodu JavaScript/jQuery rozwiązanie jest czystszy: zamiast <input type='submit' /> użyj przycisku, który wywołuje funkcję javascript, sprawdza wszystkie dane wejściowe (jeśli potrzebujesz informacji o serwerze, aby je sprawdzić, możesz użyć Ajax) i wyświetla błędy, ustawiając tylko te, które były błędne do pustych.

Oba sposoby są w porządku, ale metoda javascript jest łatwiejsza do kontrolowania/aktualizacji i jest bardziej przyjazna dla użytkownika, ponieważ nie odświeża strony.

Powiązane problemy