[英]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.