我正在使用一个mysql数据库和一个我试图与之交流的网页。
这是我的情况:
我有listmat.php
文件,它回显了表Material
中的所有记录,但它确实有效。
现在我设法显示特定listmat.php
内的div
文件的输出,并使用以下代码刷新漏洞页面:
<script>
$(document).ready(function(){
$("#matbutton").click(function(){
$("#matins").load('listmat.php');
});
});
</script>
其中matbutton
是表单中提交按钮的ID,matins
是div
的ID,其中我显示listmat.php
的输出
这是我的表格:
<form id="formmatins" method="post" action="listmat.php">
<p>Name:<input type="text" Name="Mat" id="Material"></p>
<center><input type="submit" value="Insert/Remove" id="matbutton"></center>`
</form>
我想要做的是使用matbutton
在listmat.php
回显所有记录的表格中插入文本框的值。因此,每次我点击一条记录都会被插入,并且在div中会显示新表
问题是,如果我在方法帖子的表单中插入按钮,通过点击它重定向到输出更改页面,但如果我把它放出回声工作,但我不能明显地将文本框的值传递给listmat.php
文件作为插入的参数,因为按钮对方法post不感兴趣。
我环顾四周,看起来解决方案是在jquery / ajax中使用一些铰接式结构,但我真的不知道如何修复。任何帮助都会非常感激
<script>
$(function () {
$('#formmatins').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'listmat.php',
data: $('#formmatins').serialize(),
success: function () {
$("#matins").load('listmat.php');
alert('form was submitted');
}
});
});
});
</script>
再次切换页面
<?php
$user = "**";
$pass = "**";
$db = "**";
$host = "localhost";
$con = mysqli_connect($host,$user,$pass,$db);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$m = $_POST['Mat']; //the text box in the form
$ins = $con->query("INSERT INTO mattemp (Material) VALUES ('$m')");
$query = $con->query("SELECT Material FROM mattemp");
while ($row = $query->fetch_assoc()) {
echo $row['Material']."<br>";
}
?>
它打印每次更新的表格,但仍然在新页面中......我做错了什么?
感谢所有人都试图帮助我。在帖子上给我-1的解决方案不正确,这里是我的代码的解决方案,万一有人会遇到同样的问题
`<script>
$(function () {
$('#matbutton').on('click', function(event){
event.preventDefault();
$.ajax({
type: 'post',
url: 'listmat.php',
data: $('#formmatins').serialize(),
success: function (data) {
$("#matins").load('listmat.php');}
});
});
});
</script>`
答案 0 :(得分:0)
您需要$.ajax
例如:
$.ajax({
url: "your_url.php",
type: "POST",
data: $('#formmatins').serialize(),
success: function(response){
// Do something, or not...
}
})