我有一个数据库,其中包含 50 多个需要检查和可能编辑的项目。我有一个网页,它使用 php 从数据库中提取数据并将其显示为网络表单中的值。然后我在页面底部有一系列提交按钮,具体取决于用户想要做什么。每个按钮都使用一个 onclick 方法来调用一个 javascript 函数。
在需要进行一些更改的情况下,用户将直接在网络表单中进行编辑。例如,在一个 textarea 中,textarea 的值将显示数据库项的当前内容。然后用户可以编辑内容。单击“保存更改”按钮调用 ajax 函数以使用 POST 请求将数据发送回服务器。
我遇到的问题(对于知道如何操作的人来说可能很简单)是如何从不同的表单组件收集所有更新的数据,以在下面的变量“FormData”(可能是一个数组)中发送到服务器。有没有办法一次完成这一切,还是我必须逐步遍历每个表单元素并将它们一个一个添加到数组中?“msg”是指<div id="msg"></div>
来自服务器页面的消息将被显示的位置。
到目前为止,我的 ajax 函数是:
function callsave() {
var xmlHttp, FormData;
xmlHttp = new XMLHttpRequest;
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
document.getElementById("msg").innerHTML = xmlHttp.responseText;
}
}
xmlHttp.open("POST", "savechanges.php", true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(FormData);
}
表单末尾的提交按钮是:
<input type="button" value="Save Changes" id="save" onClick="callsave();">
非常感谢您为我指明了正确的方向。顺便说一句,这是我的第一个 ajax 编码。