我正在努力将数据插入我的数据库。问题是,如果我做了" form action =" adduser.php" method =" post"然后它工作。但是,它加载了一个新页面,我不希望这样。
$("td:contains('xx')").replaceWith($(this).className.text())
function addUser() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
}
};
xmlhttp.open("POST", "adduser.php");
var formData = new FormData(document.getElementById("new_person"));
xmlhttp.send(formData);
}

<form onsubmit="addUser()">
Name: <input id = "new_name" type="text" name = "new_name">
<button type="submit"> Submit </button>
</form>
答案 0 :(得分:0)
更改按钮类型并添加事件以在点击此按钮时将数据发送到服务器:
<button type="button" onclick="addUser()">Submit</button>
答案 1 :(得分:0)
因为您提交表单而加载新页面。 从表单中删除onsubmit处理程序,并将按钮类型“submit”更改为“button”。
<form id="user" name="user" method="post" action="#">
<button type="button" onclick="addUser()">Submit</button>
</form>
另外,为什么不使用jquery ajax,它更直观:http://api.jquery.com/jquery.ajax/
参见例子:
$.ajax({
url: 'your_url',
type: 'POST',
async: true,
data: $(your_form).serialize(),
dataType: 'html',
global: false, // Prevent the global handlers "ajaxStart" from being triggered...
beforeSend: function() {
},
success: function(result, status) {
},
error: function(result, status, errno) {
},
complete: function(result, status) {
}
}).done(function() {
});