如何使用 jquery 验证插件 ajax 不使用现有电子邮件将表单提交到数据库
how to not submit the form to the database with already existing email using jquery validation plugin ajax
大家好,我正在使用 jquery 验证插件。它工作正常但我的问题是如果有电子邮件存在数据库。在他选择另一个有效的电子邮件之前,不应提交该表格。如何解决这个问题呢。
表单正在提交,即使电子邮件已经存在于数据库中。
这是 ajax
的表格
<form id="ajax_form" action="form_action.php">
<label for="name">Name :</label>
<input name="name" type="text" required />
<label for="name">Email :</label>
<input name="email" type="email" required />
<input type="submit" value="Submit" />
</form>
<p id="validemail"></p>
$(function(){
$("#ajax_form" ).validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check_email.php",
type: "post",
data: {
username: function() {
$("#validemail").html('This email already taken');
}
}
}
}
}
});
});
这是我的 check_email.php 用于检查电子邮件是否退出。
mysql_connect('localhost', 'root', '');
mysql_select_db('krk');
$query = mysql_query("SELECT ID FROM customers WHERE email = '{$email}' LIMIT 1");
if (mysql_num_rows($query)) {
return true;
}
else{
return false;
}
在他选择另一个有效电子邮件之前,不应提交表格。如何解决这个问题呢。
表单正在提交,即使电子邮件已经存在于数据库中。
在他选择另一个有效的电子邮件之前,不应提交该表格。如何解决这个问题呢。
该表单甚至提交了数据库中已经存在的电子邮件。
在他选择另一个有效的电子邮件之前,不应提交该表格。如何解决这个问题呢。
表单正在提交,即使电子邮件已经存在于数据库中。
<script>
var emailValid = true;
$(function(){
$("#ajax_form" ).validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check_email.php",
type: "post",
data: {
username: function() {
$("#validemail").html('This email already taken');
emailValid = false;
}
}
}
}
}
});
});
</script>
只有当 emailValid == true 时才允许表单提交;
PHP 脚本 return 输入了错误的值。当查询 returns 行时,它需要 return false
因为这意味着电子邮件已被使用。此外,它应该回显一个字符串,而不是 returning 一个值。
mysql_connect('localhost', 'root', '');
mysql_select_db('krk');
$query = mysql_query("SELECT ID FROM customers WHERE email = '{$email}' LIMIT 1");
if (mysql_num_rows($query)) {
echo 'false';
}
else{
echo 'true';
}
大家好,我正在使用 jquery 验证插件。它工作正常但我的问题是如果有电子邮件存在数据库。在他选择另一个有效的电子邮件之前,不应提交该表格。如何解决这个问题呢。
表单正在提交,即使电子邮件已经存在于数据库中。
这是 ajax
的表格<form id="ajax_form" action="form_action.php">
<label for="name">Name :</label>
<input name="name" type="text" required />
<label for="name">Email :</label>
<input name="email" type="email" required />
<input type="submit" value="Submit" />
</form>
<p id="validemail"></p>
$(function(){
$("#ajax_form" ).validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check_email.php",
type: "post",
data: {
username: function() {
$("#validemail").html('This email already taken');
}
}
}
}
}
});
});
这是我的 check_email.php 用于检查电子邮件是否退出。
mysql_connect('localhost', 'root', '');
mysql_select_db('krk');
$query = mysql_query("SELECT ID FROM customers WHERE email = '{$email}' LIMIT 1");
if (mysql_num_rows($query)) {
return true;
}
else{
return false;
}
在他选择另一个有效电子邮件之前,不应提交表格。如何解决这个问题呢。
表单正在提交,即使电子邮件已经存在于数据库中。 在他选择另一个有效的电子邮件之前,不应提交该表格。如何解决这个问题呢。 该表单甚至提交了数据库中已经存在的电子邮件。 在他选择另一个有效的电子邮件之前,不应提交该表格。如何解决这个问题呢。 表单正在提交,即使电子邮件已经存在于数据库中。
<script>
var emailValid = true;
$(function(){
$("#ajax_form" ).validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check_email.php",
type: "post",
data: {
username: function() {
$("#validemail").html('This email already taken');
emailValid = false;
}
}
}
}
}
});
});
</script>
只有当 emailValid == true 时才允许表单提交;
PHP 脚本 return 输入了错误的值。当查询 returns 行时,它需要 return false
因为这意味着电子邮件已被使用。此外,它应该回显一个字符串,而不是 returning 一个值。
mysql_connect('localhost', 'root', '');
mysql_select_db('krk');
$query = mysql_query("SELECT ID FROM customers WHERE email = '{$email}' LIMIT 1");
if (mysql_num_rows($query)) {
echo 'false';
}
else{
echo 'true';
}