在PHP中使用AJAX编写有关电子邮件验证的脚本时,结果出现错误:
未捕获的RangeError:超出最大调用堆栈大小 在RegExp.test() 在对象。 (jquery.min.js:2) 在Function.each(jquery.min.js:2) 在jt(jquery.min.js:2) 在jt(jquery.min.js:2) 在jt(jquery.min.js:2) 在jt(jquery.min.js:2) 在Function.w.param(jquery.min.js:2) 在Function.ajax(jquery.min.js:2) 在(index):194
我正在尝试的是:
<input type="text" placeholder="Email" id="Email" oninput="this.className = ''" name="email" required>
$(document).ready(function() {
var email = document.getElementById("Email");
$(email).on('keyup input', function() {
if (email) {
$.ajax({
type: 'post',
url: 'ajax_email_validation.php',
data: {
email: email,
},
success: function(response) {
$('#email_status').html(response);
if (response == "OK") {
$(':button[type="button"]').prop('disabled', false);
return true;
} else {
$(':button[type="button"]').prop('disabled', true);
return false;
}
}
});
} else {
$('#email_status').html("");
return false;
}
});
});
阅读评论后,我尝试了:
var email = document.getElementById( "Email" );
$(document).ready(function() {
$(email).on('keyup input', function(){
$.ajax({
type: 'post',
url: 'ajax_email_validation.php',
data: {
email:email,
},
success: function (response) {
$( '#email_status' ).html(response);
if(response=="OK")
{
$(':button[type="button"]').prop('disabled', false);
//return true;
}
else
{
$(':button[type="button"]').prop('disabled', true);
return false;
}
}
});
});
});
我没有收到任何错误,也没有响应消息...