我想提交一个表单使用AJAX来防止页面刷新,然后将数据发送到后台的MYSQL数据库,但我无法弄清楚我做错了什么。如果我在表单标签中使用action =“SuggestionSchemeForm”,页面将正确发送数据,但是我宁愿使用AJAX来停止页面刷新。我已经看过多个问题和答案,但无法找到与我的特定问题有关的答案。任何人都可以看到我的错在哪里/提交表单而不刷新页面不工作
我的AJAX看起来像这样。
<script type="text javascript">
$(function()
{
$('SuggestionForm').on('submit', function (e)
{=det
e.preventDefault();
$.ajax(
{
type: 'POST',
url: 'SuggestionSchemeForm.php',
dataType: 'html',
data: $('SuggestionForm').serialize(),
success: function()
{
alert('form was submitted');
}
});
});
});
</script>
这是我的PHP文件
<?php
if($_POST)
{
require_once("../config.php");
require_login();
global $USER;
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "FTSuggestionTest";
$firstName = $USER->firstname;
$lastName = $USER->lastname;
$currentUser =$USER->currentUser;
$userId = $USER->id;
$a=date("Y-m-d H:i:s");
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO enquiries (Id, Name, JobTitle, Department, Site,Suggestion, Impact, Processed, Status, Date, Location, BuildingNo)
VALUES ('$userId', '$_POST[firstname]', '$_POST[jobtitle]', '$_POST[department]', '$_POST[site]', '$_POST[suggestion]', '$_POST[impact]', 'NO', 'Submitted', '$a', '$_POST[location]', '$_POST[buildingNo]')";
if ($conn->query($sql) === TRUE)
{
echo "New record created successfully for $_POST[firstname]";
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
exit;
}
?>
但是我可以写值到数据库中,当用户点击提交按钮的唯一方法是包括行动=“SuggestionSchemeForm”。
你有一个错字'{= DET ' – machineaddict
SuggestionForm is ID or class ??? – Bugfixer
yup,在e.preventDefault之前输入错误(); –