weixin_33701294 2017-12-13 23:41 采纳率: 0%
浏览 15

Ajax脚本未调用

Inside my page it works, doesn't refresh the page and it sends to the database exactly how I want it, however, when it sends, or has an error depending on the error it should highlight the box but it doesn't. Whenever I press the button I get this error in the console:


index.php:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="css/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

    <script>
      $(document).ready(function(){
        $("form").submit(function(){
          event.preventDefault();
          var name = $("#mail-name").val();
          var email = $("#mail-email").val();
          var gender = $("#mail-gender").val();
          var message = $("#mail-message").val();
          var submit = $("#mail-sendEmail").val();

          $(".form-message").load("mail.php", {
            name: name,
            email: email,
            gender: gender,
            message: message,
            submit: submit
          })
        });
      });
    </script>

  </head>
  <body>

    <form method="POST" action="mail.php">
      <input type="text" name="name" id="mail-name" placeholder="Full name" value=""><br>
      <input type="text" name="email" id="mail-email" placeholder="Email" value=""><br>
      <select name="gender" id="mail-gender">
        <option value="Male">Male</option>
        <option value="Female">Female</option>
      </select><br>
      <textarea name="message" id="mail-message" placeholder="Message" rows="8" cols="80"></textarea><br>
      <button type="submit" name="sendEmail" id="mail-sendEmail">Send email</button>
      <p class="form-message"></p>
    </form>

  </body>
</html>

mail.php

<?php

  include('inc/db.php');

  if(isset($_POST['submit'])){
    $name = $_POST['name'];
    $email = $_POST['email'];
    $gender = $_POST['gender'];
    $message = $_POST['message'];

    $errorEmpty = false;
    $errorEmptyName = false;
    $errorEmptyEmail = false;
    $errorEmptyMessage = false;
    $errorEmail = false;

    if(empty($name) || empty($email) || empty($message)){
      $errorEmpty = true;
      if(empty($name)){
        echo "<span class='form-error'> Please enter a name! </span><br>";
        $errorEmptyName = true;
      }
      if(empty($email)){
        echo "<span class='form-error'> Please enter an email! </span><br>";
        $errorEmptyEmail = true;
      }
      if(empty($message)){
        echo "<span class='form-error'> Please enter a message! </span><br>";
        $errorEmptyMessage = true;
      }
    }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
      echo "<span class='form-error'> Please enter a valid email! </span><br>";
      $errorEmail = true;
    }else{
      echo "<span class='form-success'> Successfully sent! </span><br>";
      DB::query('INSERT INTO contact VALUES(\'\', :name, :email, :gender, :message)', array(':name'=>$name, ':email'=>$email, ':gender'=>$gender, ':message'=>$message));
    }
  }else{
    die("Error");
  }

?>

<script>

  $("#name, #email, #message, #gender").removeClass("input-error");

  var $errorEmpty = "<?php echo "$errorEmpty" ?>";
  var errorEmptyName = "<?php echo $errorEmptyName ?>";
  var errorEmptyEmail = "<?php echo $errorEmptyEmail ?>";
  var errorEmptyMessage = "<?php echo $errorEmptyMessage ?>";
  var errorEmail = "<?php echo $errorEmail ?>";

  if(errorEmpty == true){
    if(errorEmptyName == true){
      $("#name").addClass("input-error");
    }
    if(errorEmptyEmail == true){
      $("#email").addClass("input-error");
    }
    if(errorEmptyMessage == true){
      $("#message").addClass("input-error");
    }
  }else if(errorEmail == true){
    $("#email").addClass("input-error");
  }

  if(errorEmpty == false && errorEmail == false){
    $("#name, #email, #message").val('');
  }

</script>

It doesn't call the script inside the mail.php script.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 c程序不知道为什么得不到结果
    • ¥40 复杂的限制性的商函数处理
    • ¥15 程序不包含适用于入口点的静态Main方法
    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置