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;}
}
});

或者还有一个提议。可能更好的选择是刷新以返回其初始值文本,例如 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 回答