Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查Codeigniter中的电子邮件可用性,无需访问数据库,并禁用表单提交,直到电子邮件可用_Php_Jquery_Ajax_Forms_Codeigniter - Fatal编程技术网

Php 检查Codeigniter中的电子邮件可用性,无需访问数据库,并禁用表单提交,直到电子邮件可用

Php 检查Codeigniter中的电子邮件可用性,无需访问数据库,并禁用表单提交,直到电子邮件可用,php,jquery,ajax,forms,codeigniter,Php,Jquery,Ajax,Forms,Codeigniter,我正在使用Codeigniter,我正在创建一个登录注册表单,检查用户的电子邮件是否可用。用户可以使用该id登录。 所以我尝试使用Ajax 所以我把这个Ajax放在了我的视野中 $(document).ready(function() { $("#email").keyup(function() { var email = $(this).val(); if (email.lengt

我正在使用Codeigniter,我正在创建一个登录注册表单,检查用户的电子邮件是否可用。用户可以使用该id登录。 所以我尝试使用Ajax

所以我把这个Ajax放在了我的视野中

            $(document).ready(function() {
            $("#email").keyup(function() {
                var email = $(this).val();

                if (email.length > 3) {
                    $("#result").html('checking...');

                    $.ajax({
                        type: 'POST',
                        url: emailAvailability,
                        data: { email: email },
                        success: function(data) {
                            console.log(data);
                            $("#result").html(data);

                            if (data.indexOf('Available')) {
                                emailAvaliable = 1;
                                //$('#candidateLogin').removeClass('disabled');
                            } else {
                                emailAvaliable = 0;
                                //$('#candidateLogin').addClass('disabled');
                            }
                        }
                    });
                    return false;
                } else {
                    $("#result").html('');
                }
            });
            });
我正在使用欧芹插件进行验证

 $(".formValidationClass").on('click', function (e) {
     e.preventDefault;
     $(this).parsley();
 });
现在是控制器代码

public function check_email_availability(){

    $data = $this->input->post();
    // Now I want to check email is unique or not without going to database.
}
第二个问题是我想禁用表单,直到电子邮件可用且有效

我尝试了这个脚本来禁用表单提交,但它不工作,表单被提交。我已经完成了服务器端验证以不提交,但我仍然希望阻止它从客户端提交。 这是剧本

     $(".formValidationClass").on('click', function(e) {
     e.preventDefault;

     $(this).parsley().validate();
     console.log('on form click, After validation');
     //  return false;


 });

 var emailAvaliable = 0;

 $(".formValidationClass").submit(function(event) {
     // Validate form fields

     if (emailAvaliable == 1) {
         console.log('Email Avaliable');
         $(this).parsley();
         return true;
     } else {
         console.log('Email not Avaliable');
         return false;
     }

 });

所有与改进规范有关的建议都是可以接受的。谢谢。

如果要阻止表单提交事件,请使用:
e.PreventDefault()检查此项以了解更多信息。我认为这对你很有用。

数据应该像这样发送:{email:email}谢谢,我已经更新了它,但是以前的代码对我来说也很好@Jyothi没有进入数据库。你不能检查电子邮件是否唯一以前也有工作,但发送相同的数据两次。Codeigniter有“is_unique”规则来检查它,而不去db@always-a-Learner谢谢,但我已经先看了一遍,也试过了。但我不知道如何使用我的欧芹验证插件。