javascript - 用户在表单中提交错误的电子邮件后如何回滚到之前的状态

标签 javascript forms

我创建了一个 js 脚本来验证电子邮件输入。当用户输入不具有电子邮件形式的字符串时,文本会变成红色。

我想知道在用户提交了错误的字符串并想要再次提交后,如何使文本恢复到之前的状态(不是红色)。 我希望文本保持红色,直到用户再次开始输入。

这是我的代码:

$('.submit').bind("click", function(e){
    var error = 0;
    e.preventDefault();
    var email = $('.email').val();          
    if(!validateEmail(email) || email === "" ){
        $(".email").addClass('error')//this class makes my text red
        $(".email").focus();
        error = error + 1;
        console.log (error)

        return false
    } else {
         $.ajax({
           type: "POST",
           url: 'email.php',
           data: {
            email: email
           }, // serializes the form's elements.
         });
    }
    // $(".email").removeClass('error');
    // if(error === 1)
    // {
        // $(".email").removeClass('error');

    // }        
})

最佳答案

$( ".email" ).keypress(function() {
  $(this).removeClass("error");
});

因此,当您开始输入时,它将删除错误类。

您可以使用 .change 而不是 .keypress 添加同一行,这样粘贴电子邮件也会清除错误。

我想另一个答案有点好,但如果你选择这种方式,我会实现一个 else 语句来添加错误类,因为现在它会切换到正常状态,但如果你发送无效的电子邮件,它将保留就这样。

关于javascript - 用户在表单中提交错误的电子邮件后如何回滚到之前的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23953222/

相关文章:

php - 关于通过电子邮件发送信用卡详细信息的建议

html - 使用 bootstrap 和 web.py 的形式

Javascript 2D 数组奇怪的行为

javascript - 如何在用 JSON 中的 JS 填充的表中进行可操作的工作?

javascript - 将 li 元素插入到特定 div 的 ul 中

forms - 如何在 SQLFORM 中添加 web2py 中表中没有的附加字段?

c# - Ajax.BeginForm 导致重定向到部分 View 而不是就地 View

javascript - 确定字段(在提交事件上)是下拉列表还是输入

javascript - 区分 AJAX 调用/浏览器请求

javascript - try声明变量的范围