Jquery表单验证和提交

Posted

技术标签:

【中文标题】Jquery表单验证和提交【英文标题】:Jquery form validation and submit 【发布时间】:2021-09-08 09:04:57 【问题描述】:

我有以下代码来验证和发送表单。 不幸的是,验证运行良好,但页面不再重新加载,只加载contact.php. 我是编码新手,你能帮我吗,我做错了什么?

Jquery:

$(document).ready(function()
  $("#submit").click(function()
  $('#orderForm').validate(

  );


  $.ajax(
     url:'contact.php',
     type:'post',
     data:fname:fname,lname:lname,email:email,
     success:function(response)
        location.reload(); // reloading page
  
     
  );

);
);

html

 <form id="orderForm" name="contactForm" action="contact.php" method="post">
            <h1>kapcsolat</h1>
            
            
              <label for="first_name">Vezetéknév</label>
              <input type="text" name="first_name" id="first_name" required>
              
              <label for="last_name">Keresztnév</label>
              <input type="text" name="last_name" id="last_name">
              
              <label for="email">E-mail cím</label>
              <input type="email" name="email" id="email" required>
              
              <label for="number">Telefonszám</label>
              <input type="number" name="phone">
              
              <label for="message">Megjegyzés</label>
              <textarea name="message" id="" cols="30" rows="10"></textarea>
              
              <button type="submit" id="submit" name="submit"> Küldés</button>



          </form>

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您需要将用户重定向回 MAIN INDEX 页面,而不是再次重新加载同一页面。

$(document).ready(function()
  $("#submit").click(function()
  
      $('#orderForm').validate(
    
      );


      $.ajax(
         url:'contact.php',
         type:'post',
         data:fname:fname,lname:lname,email:email,
         success:function(response)
            alert("Thank you, we will get back to you shortly.");
            // **** redirect back to Main Index Page *****
            window.location.href = "YourMainIndexPage.php";
         
      );
    
    );
);

【讨论】:

嗨!谢谢您的帮助。不幸的是,结果是一样的。只有当我取出 $('#orderForm').validate( ); 部分时它才有效。但为什么呢? 这是我的 PHP 代码...&lt;?php $message_sent = false; if (isset($_POST['email']) &amp;&amp; $_POST['email'] != '') $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $email = $_POST['email']; $message = $_POST['message']; $mailTo = "test@test.com"; $headers = "From: My website".$first_name; $txt = "Hello".$first_name.".\n\n".$message; mail($mailTo, $headers, $txt, $first_name, $last_name ); $message_sent = true; ?&gt;

以上是关于Jquery表单验证和提交的主要内容,如果未能解决你的问题,请参考以下文章

Jquery表单验证和提交

在提交时检查 jQuery 验证之前的表单提交

当 jquery.validate 验证表单时启用提交按钮

jQuery 表单验证和 Ajax 提交的问题

jquery表单验证on啥意思?

jQuery 和 Django 表单验证重新加载和提交事件监听器