繁体   English   中英

表单发布脚本不适用于新字段

[英]Form post script not working with new fields

我有一个 PHP/jQuery 脚本,可以在不刷新页面的情况下加载表单数据。 除非我尝试添加新字段,否则它工作得很好。 也许 JQUERY 只允许某些字段?

除了“文本”表单字段之外,以下代码效果很好。 文本表单字段是我尝试添加到默认脚本的自定义字段。 除默认字段外,所有字段都发布数据。

HTML

<html>
<head>
  <title>Submit Form without Page Refresh - PHP/jQuery - TecAdmin.net</title>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script src="js/submit.js"></script>
</head>
<body>
<form id="myForm" method="post">
   Name:    <input name="name" id="name" type="text" /><br />
   Email:   <input name="email" id="email" type="text" /><br />
   Phone No:<input name="phone" id="phone" type="text" /><br />
   Gender:  <input name="gender" type="radio" value="male">Male
            <input name="gender" type="radio" value="female">Female<br />
   Text:     <input name="text" id="text" type="text" /><br />
 
   <input type="button" id="submitFormData" onclick="SubmitFormData();" value="Submit" />
 </form>
 <br/>
   Your data will display below... <br />
   ==============================<br />
 <div id="results">
    <!-- All data will display here  -->
 </div>
</body>
</html>

JavaScript - JQUERY

function SubmitFormData() {
    var name = $("#name").val();
    var email = $("#email").val();
    var phone = $("#phone").val();
    var gender = $("input[type=radio]:checked").val();
    var text = $("#text").val();
    $.post("submit.php", { name: name, email: email, phone: phone, gender: gender, text: text },
       function(data) {
         $('#results').html(data);
         $('#myForm')[0].reset();
       });
}

PHP (submit.php)

<?php

  echo $_POST['name'] . "<br />";
  echo $_POST['email'] . "<br />";
  echo $_POST['phone'] . "<br />";
  echo $_POST['gender'] . "<br />";
  echo $_POST['text'] . "<br />";
  echo "==============================<br />";
  echo "All Data Submitted Successfully!";

?>

我想到了。 原始脚本没有问题。 这是浏览器缓存旧值。 完全清除 Edge 和 Chrome(我用来测试脚本的浏览器)中的缓存后 - 我让所有字段都可以工作。

添加新字段后,旧的缓存 js 或 post 值仍然保留,并且不允许新条目。

它在第一次使用它的浏览器上运行良好,因为没有缓存数据。

为了防止在添加/删除字段后发生缓存...将以下缓存清除行添加到 submit.php 的开头。

header("Pragma: no-cache");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM