当数据在javascript codeigniter php中使用ajax成功函数时,如何禁用页面重新加载?

Man*_*ari 5 javascript php ajax jquery codeigniter

我有一个注册表,想要检查注册用户是否会再次注册以显示使用ajax功能注册的警报窗口.

我使用了codeigniter框架.

我的功能正常工作,但当警报弹出并按下确定页面重新加载.我想禁用

我的表格代码:

<form class="modal-content" name="form2" action="<?= $this->config->base_url();?>home/register_user" method="post" onSubmit="return ValidateRegister()">
                                              <div class="modal-header">
                          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">×</span>
                          </button>
                          <h4 class="modal-title">Create your account</h4>
                        </div>
                       <div class="page-content vertical-align-middle" style="display:block;">
      <div class="form-group has-error">
                    <label class="control-label" for="inputTokenfieldError-tokenfield"> <?php echo validation_errors();  ?></label>

                  </div>
        <div class="form-group form-material floating">
          <input type="text" class="form-control " id="inputName" name="username" value="<?php echo set_value('username'); ?>" autocomplete="off">
          <label class="floating-label">Username</label>
        </div>
        <div class="form-group form-material floating">
          <input type="email" class="form-control " id="my_email" name="email" value="<?php echo set_value('email'); ?>" autocomplete="off">
        <label class="floating-label">Email</label>
        </div>
        <div class="form-group form-material floating">
          <input type="password" class="form-control " id="inputPassword" name="password" autocomplete="off">
          <label class="floating-label">Password</label>
        </div>

 <div class="form-group">
        <button type="submit" class="btn btn-primary btn-block">Join Now - It's Free</button>
 </div>

      </form>
Run Code Online (Sandbox Code Playgroud)

我的javascript函数:

function checkRegistrations() 
        {
            var email = $('#my_email').val();
            $.ajax({
                url: "<?= base_url() ?>home/checkRegistration",
                async: false,
                type: "POST",
                data: "email="+email,
                dataType: "html",
                success: function(data) {
                  //  alert(data);
                    if(data==1)
                    {

                    //event.preventDefault();
                    alert('Email already registered');
                    return false;
                    window.location.reload(false);
                    }
                    else{

                        return true;
                    }
                }
            })
        }
Run Code Online (Sandbox Code Playgroud)

小智 1

您正在从 annon 内部返回 true/false。函数即成功处理程序。但父函数不返回 true/false。

像这样修改你的代码:

function checkRegistrations() 
        {
            var email = $('#my_email').val();
            var isValid = true;
            $.ajax({
                url: "<?= base_url() ?>home/checkRegistration",
                async: false,
                type: "POST",
                data: "email="+email,
                dataType: "html",
                success: function(data) {
                    if(data==1)
                    {
                    alert('Email already registered');
                    isValid = false;
                    }
                }
            });
           return isValid;
        }
Run Code Online (Sandbox Code Playgroud)