weixin_33682719 2017-05-26 01:04
浏览 20

Ajax表单无所事事

I have a form using Ajax that is suppose to show an error to the user when something is incorrect when the login. When I click the submit button nothing happens. I hate asking Stack overflow but you got to do what you got to do. And yes, I have Apache configured to not need file extensions. This is the tutorial I am following: https://www.youtube.com/watch?v=L7Sn-f36TGM

Login Script:

    require("dbh.php");

  if(isset($_POST['submit'])) {
    $email = $_POST['email'];
    $pwd = $_POST['pwd'];

    $errorEmpty = false;
    $errorEmail = false;
    $errorWrong = false;

    if(empty($email) || empty($pwd)) {
      echo "<p class='loginText'>Please Enter an Email Address and Password!</p>";
      $errorEmpty = true;
    } else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      echo "<p class='loginText'>Please Enter a Valid Email Address!</p>";
      $errorEmail = true;
    } else {
      echo "Success!";
    }
    } else {
      echo "<p class='loginText'>An Error Occurred!</p>"
    }
    header("/login?test");

loginForm.js

$(document).ready(function() {
  $("#loginFormInput").submit(function(event) {
    event.preventDefault();
    var email = $("#emailLogin").val();
    var pwd = $("#pwdLogin").val();
    $(".errorText").load("../php-scripts/login", {
      email: email,
      pwd: pwd
    });
  });
});

HTML Form:

<p class="errorText"></p>
<form action="../php-scripts/login.php" method="post" id="loginFormInput">
    <input type="text" name="email" class="textInput" id="emailLogin" placeholder="Email" maxlength="512"> <br>
    <input type="password" name="pwd" class="textInput" id="pwdLogin" placeholder="Password" maxlength="1024"> <br>
    <p class="rememberText">Remember Me:</p>
    <input type="checkbox" name="remember" class="rememberBox"> <br>
    <input type="submit" value="Login" name="submit" class="submitInput" title="Login">
  </form>
  • 写回答

2条回答 默认 最新

  • weixin_33691817 2017-05-26 01:12
    关注

    Your PHP code is doing if (isset($_POST['submit'])), but when you do the AJAX submission you don't provide a submit parameter. You need to add that to the parameters:

    $(".errorText").load("../php-scripts/login", {
      email: email,
      pwd: pwd,
      submit: 'Login'
    });
    

    Or you could remove that check from the PHP, if that script is only used to process the AJAX requests.

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)