首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当表单成功时,Ajax不返回回显

当表单成功时,Ajax不返回回显
EN

Stack Overflow用户
提问于 2019-07-24 04:43:30
回答 1查看 42关注 0票数 1

我有一个表单,当按下按钮时提交数据。如果表单是成功的,则表单不返回任何内容。当表单出错时,它会发送一个错误。从本质上讲,我希望它在数据插入到数据库之后转发到一个页面。

我用netbeans进行了一次调试,如果成功,它会从php返回回声。仅使用浏览器时不会发生这种情况。我试着说

代码语言:javascript
运行
复制
[code] if (response === 'Saved') {
do this}else{do that}[code]

但没有快乐

代码语言:javascript
运行
复制
<input type = "submit" name = "register" id = "reg_btn" >
代码语言:javascript
运行
复制
 $('#reg_btn').on('click', function(){
    var email = $('#email').val();
    var fname = $('#fname').val();
    var lname = $('#lname').val();
    var password = $('#password').val();
    if (email_state === false || fname_state === false || lname_state === false || pword_state === false) {
      $('#error_msg').text('Fix the errors in the form first');
      return false;
    }else if (email_state === true && fname_state === true && lname_state === true && pword_state && true)
    {
      // proceed with form submission
      $.ajax({
        url: '../PHP/reg2.php',
        type: "post",
        data: {
            'save' : 1,
            'email' : email,
            'fname' : fname,
            'password' : password,
        'lname' : lname

        },
        success: function(response){


                alert(response);
            window.location = 'succesful_registration.html';
                    }

        }
      });
    }
 });
代码语言:javascript
运行
复制
   $db = mysqli_connect ("localhost","snapitlive","2XEq6NI0QortZIdh","snapitlive");
  if($db == false)
    {
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }

    $webform = (filter_Input(\INPUT_POST, 'save', FILTER_SANITIZE_SPECIAL_CHARS));
    if ($webform) {
    $first_name = filter_input(\INPUT_POST,'fname', FILTER_SANITIZE_SPECIAL_CHARS);
    $last_name = filter_input(\INPUT_POST,'lname',FILTER_SANITIZE_SPECIAL_CHARS);
    $email = filter_input(\INPUT_POST,'email',FILTER_SANITIZE_SPECIAL_CHARS);
    $mobile = filter_input(\INPUT_POST,'mobile', FILTER_SANITIZE_SPECIAL_CHARS);
    $uniqid = \uniqid();
    $password = filter_input(\INPUT_POST,'password',FILTER_SANITIZE_SPECIAL_CHARS);
    $hashpass = password_hash($password, PASSWORD_DEFAULT);
    $pw_uniqid = \uniqid();
/*$sql = "SELECT * FROM users WHERE u_ea='$email'";
    $results = mysqli_query($db, $sql);
    if (mysqli_num_rows($results) > 0) {
      echo "exists";    
      exit();
    }else{*/
            $sql = "INSERT INTO users (u_id, u_fn, u_ln, u_ea, u_mp) VALUES ('$uniqid','$first_name', '$last_name', '$email', '$mobile');";
            $sql .="INSERT INTO passwords(p_id, p_u_id, password, current) VALUES ('$pw_uniqid', '$uniqid', '$hashpass', 1);";

            $results = \mysqli_multi_query($db, $sql);
            echo 'Saved';


    exit();
    mysql_close($db);
    }

我希望看到一条警告消息说已保存,然后将其定向到我提到的位置。相反,我只需要刷新页面即可。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 05:06:26

您有括号错误的脚本结尾,这是正确的方式和窗口位置必须是两个window.location.assign("url") OR window.location.replace("url")

代码语言:javascript
运行
复制
<script type="text/javascript">
$('#reg_btn').on('click', function(){
    var email = $('#email').val();
    var fname = $('#fname').val();
    var lname = $('#lname').val();
    var password = $('#password').val();
    if (email_state === false || fname_state === false || lname_state === false || pword_state === false) {
      $('#error_msg').text('Fix the errors in the form first');
      return false;
    }else if (email_state === true && fname_state === true && lname_state === true && pword_state && true)
    {
      // proceed with form submission
      $.ajax({
            url: '../PHP/reg2.php',
            type: "post",
            data: {
                'save' : 1,
                'email' : email,
                'fname' : fname,
                'password' : password,
            'lname' : lname

            },
            success: function(response){
                alert(response);
                window.location.replace("succesful_registration.html");
            }
        });
      }
});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57171903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档