【发布时间】:2017-06-13 11:47:34
【问题描述】:
我有一个代码可以使用按键上的 ajax 检查数据库中的电子邮件 ID 是否可用。如果电子邮件 ID 可用,则提交按钮将启用,或者数据库中的电子邮件 ID 不可用,则提交按钮将显示为禁用。 我在上面的过程中没有问题,下面的代码适用于上述过程。
我的问题是,当用户输入用户名和密码时,有时用户会弹出将用户名和密码存储在浏览器中的窗口。我说的是 cookie,或者可以说是自动归档的数据。例如:如果您在文本字段中输入电子邮件 ID 两到三次,那么下次您单击该字段时,您将自动收到您的电子邮件。
我遇到了同样的问题。我在浏览器上保存了用户名和密码,现在我正在选择我的用户名并单击不起作用的按钮,因为我在按键上使用了 ajax。如果我输入电子邮件,那么它可以工作 如果我选择电子邮件,那么它就不能工作。如果任何用户选择了电子邮件 ID,我需要该按钮也应该处于活动状态。
希望你能理解我的问题。你能帮我解决这个问题吗?
在按键时获取 ajax 响应
自动填充电子邮件,没有来自 ajax 的响应
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="" method="POST">
<input type="email" id="email" name="email" class="text_field" />
<span id="email-validation-error" class="error"></span>
<input id="submitYesNo" type="submit" name="next" value="submit" disabled="disabled">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
/*checking email id is already exist or not*/
$(document).ready(function() {
$('input[type="submit"]').attr('disabled', true);
});
$(document).ready(function()
{
var elem = $("#id"); //assign target element with id
$("input[name='email']").on('keyup',function()
{
var email = $('#email').val();
$.ajax(
{
url:'process.php',
type:'POST',
data:'email='+email,
success:function(data)
{
if (data == "success") {
$("#submitYesNo").prop('disabled', false);
$("#email-validation-error").html(data);
}
else{
$("#email-validation-error").html(data);
$("#submitYesNo").prop('disabled', true);
}
},
});
});
});
</script>
</body>
</html>
PHP
if(isset($_POST['email'])){
$email=$_POST['email'];
$_SESSION['username']=$email;
$query="SELECT Email FROM `request` WHERE Email='".$email."'";
$result = $conn->query($query);
$search_record=$result->num_rows;
if ($search_record > 0) {
echo "success";
}
else{
echo "Email does not exist, please sign up to use our services";
}
}
【问题讨论】:
-
在 jquery 的
on函数中添加带有模糊的键,或者您可以在输入字段中关闭自动完成功能,例如autocomplete="off" -
感谢Mr.Fairy Dancer的回复,能帮我举个例子吗?
-
关闭电子邮件字段中的自动完成功能
<input type="email" id="email" name="email" autocomplete="off" class="text_field" />或关闭整个表单的自动完成功能<form action="" method="POST" autocomplete="off"> -
最好设置 autocomplete="off"
-
如果我关闭自动完成功能。并且任何用户在浏览器上保存了他们的用户名和密码然后它会工作吗?
标签: php jquery ajax cookies autocomplete