gpt4 book ai didi

php - 在 div 中发布表单,菜单 div 分开

转载 作者:行者123 更新时间:2023-11-29 14:24:50 24 4
gpt4 key购买 nike

我有 2 个 div,一个用于菜单链接,另一个用于内容。我想要做的是单击菜单链接和该菜单链接的页面以在内容 div 中加载。

我已经做到了这一点并且有效。问题是 div 内的页面包含一个表单,该表单不会显示成功消息,并且数据库不会更新。

它所做的只是刷新主内容页面或打开当前窗口,就像内容页面一样,或打开一个包含内容页面的新窗口。

有什么解决方案吗?

Logged_in.php

左侧 div = 菜单

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function(){

$(".menuLink").click(function(){

$.ajax({
type: "POST",
url: $(this).attr('href'),
data: "",
cache: false,
success: function(html){ $("#Middle").html(html); }
});

});

});
</script>

</head>
<body>
<div id="head">

<div class="lefttop" align="center">

<div class="lefttopleft">
<a class="menuLink" href="Test.php" onclick="return false;"><img src="Images/logo.jpg" width="94" height="21" /></div>

当单击该链接时,页面会加载到内容 div 中,因此现在该页面在内容 div 中显示一个表单,我遇到的问题是填写表单,单击“提交”,它会更新数据库,它只会刷新到主要内容 div 或只是页面加载文件,单击或在新窗口中执行此操作。

内容 div 中的 Test.php

session_start();
include_once("connect.php");
include_once("functions.php");

if($_POST['WallSubmit'] && $_POST['Wall']){

$wall = makesafe($_POST['Wall']);

mysql_query("INSERT INTO `Wall` (`ID`, `Username`, `MessageBy`, `Date`, `Message`) VALUES ('', '', '$username', '" . time() . "', '$wall')");

}

?>

<body>
<form method="post">
<table class="default" style="width: 80%" align="center">
<tr>
<td class="subheader">Wall</td>
</tr>
<tr>
<td class="content">Post a comment.<br /><textarea name='Wall' id='Wall' style='width: 99%; height: 110px;'></textarea><br /><br/><center><input type='submit' value='Post' name='WallSubmit' /></center><br /><hr><br />Latest Comments.</td>
</tr>
</td>
</table>
</form>
</body>
</html>

有没有一种简单的方法可以解决这个问题,我到处都看过?

最佳答案

首先,尝试在表单标记上设置操作。该操作定义表单将提交到的页面。

<form method="post" action="Test.php">

这样,表单应该被提交到 Test.php。如果仍然没有执行任何操作,请尝试在页面顶部使用 var_dump($POST); 打印变量转储 ( manual )。然后您将看到帖子属性的所有设置值。从这里开始应该很容易找到错误。

编辑

在您发表评论后,我意识到您正在尝试使用 AJAX 发送表单,然后重新加载内容 div。您必须分两步完成此操作。首先,将表单的数据发送到Test.php,然后重新加载内容div。如果偶然发现这个问题:jQuery AJAX submit form 。这可能会帮助您如何提交表单。如果你想使用返回值,你可以尝试这样的事情:

$.post("Test.php", $("#form").serialize(),
function(data) {
alert("Returned data: " + data);
});

参见jQuery.post()

关于php - 在 div 中发布表单,菜单 div 分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11191229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com