2016-05-13 46 views
3

假设我有一个在线表单,并且想知道用户是否输入了系统已在使用的电子邮件。只要用户将光标/选择从现场移开,我能否告诉系统检查数据库中的字段?任何人都可以指出我的方向是否正确?在提交表单之前确定重复值

+0

是的。您可以使用onblur事件处理程序和ajax来发送/接收数据而不刷新页面... – sinisake

回答

3

为此,你需要调用Ajax时用户编写电子邮件ID在如下模糊事件是指:

$('#yourfieldID').blur(function() { 
     var val = $(this).val(); 
     $.ajax({ 
       type: 'POST', 
       url: 'your url', 
       data: {email: val}, 
       success: function (data) { 
        // check for response 
        }); 
       } 
      }); 
    }); 

现在在ajax url中调用的文件中,您需要检查数据库中是否存在数据,并根据需要发送响应并在ajax调用的成功部分检查它。

我希望你能得到它。

0

您可以通过数据库中的Ajax调用来检查电子邮件的可用性,以更改文本或模糊邮件文本框的事件。然后相应地通知用户。

4

你可以使用jQuery的blur事件附加一个侦听文本字段,就像这样:一旦

$('#MyEmailField').blur(function() { 
    // jQuery AJAX Call here, $.ajax(...) 
}) 
0

为用户移出电子邮件领域,比如标签或点击鼠标,你需要触发的功能将Ajax调用到您的服务器。触发功能将在电子邮件字段上显示。然后检查用户电子邮件是否退出,取回Ajax响应以通知用户。

1

是的,有可能于JavaScript(或jQuery的的“事件的内容”法)“的onblur”事件中使用AJAX调用

你可以使用这样的事情,在HTML:

<input type="email" name="myinput" /> 

而且JS:

$("input").focusout(function() { 
    var usr_email = $(this).value; 
    $.ajax({ 
     method: "GET", 
     url: "some.php", 
     data: { email: usr_email } 
    }).done(function(response) { 
     if(response == "taken"){ 
     $("input").borderColor = "red"; 
     } 
    }); 
}