0

ページのリロード/更新/f5を押した後、赤い色の入力テキストを保持することは可能ですか(つまり、電子メールが間違っている場合)?問題は、f5キーを押すかページを更新すると、入力テキストの色が赤からデフォルトの黒に変わることです。誰かが私に適切なコードを見せてくれたら嬉しいです。事前にTnx!

これはコードです:

$(document).ready(function(){

    var form=$("#form");
    var email=$("#email");
    var emailVal="неправилен email адрес";

form.submit(function(){
     if(validateEmail()) {return true;}
     else{return false;};
                        });

email.keyup(function(){
     var a=$("#email").val();
     var match_e=/^[A-Za-z0-9]+[A-Za-z0-9_.-]+[A-Za-z0-9]+@[A-Za-z0-9]+[A-Za-z0-9.-]+  [A-Za-z0-9]+.[a-z]{2,4}$/;

  if(match_e.test(a)){email.css('color','#000');}});

function validateEmail(){
     var a=$("#email").val();
     var match_e=/^[A-Za-z0-9]+[A-Za-z0-9_.-]+[A-Za-z0-9]+@[A-Za-z0-9]+[A-Za-z0-9.-]+[A-Za-z0-9]+.[a-z]{2,4}$/;

   if(match_e.test(a)){ 
        email.css('color','#000');
        return true;
  }else{
        email.val(emailVal).css('color','red');
        return false;}
}
});

または、もう1つの提案があります。value = "email"のような初期値のテキストを返すように更新し、間違ったメッセージを削除することをお勧めします。両方-赤いテキストを保持するか、ページが更新されたときにそれを削除することは私にとって許容されます。

4

3 に答える 3

1

注:これを行うには、リロード中にテキストの値が保持されることを確認する必要があります。これは、サーバーから値を送信する必要があることを意味します。

今すぐ検証のために検証プラグインを使用します

<script src="dist/jquery.min.js"></script>
<script src="dist/jquery.validate.js"></script>

<script>
    $(function() {
        $(window).load(function () {
            $('#your_form_id').valid();
        });
    });
</script>
<style>
    .error{
        color:red;
    }
</style>

<form id ='your_form_id'> <input name='txt' id='txt' class='email' value='YOUR DEFAULT VALUE'></input>
</ form>

于 2012-04-20T12:31:23.643 に答える
0

フォームイベントとは別に、DOMの準備ができたら、バリデーター関数を呼び出す必要があります。

于 2012-04-20T12:03:19.007 に答える
0

validateもう一度レンダリングした後、ページを作成してみませんか?これはreadyイベントで行うことができます。これを読む

于 2012-04-20T12:04:58.067 に答える