Ajax 如何将更新的表单值发布到php?
尝试了所有可能的方法:Ajax 如何将更新的表单值发布到php?,ajax,forms,jquery,post,Ajax,Forms,Jquery,Post,尝试了所有可能的方法:serialize(),val()。无法获取工作自动提交函数。使用按钮提交表单效果很好,每次都会发布更新的值,但autosubmit函数会使用按钮值发布上次提交的值。如何将更新的表单值发布到php 我的JS看起来像这样 var autoSaveInterval = null; var counter = 0; function call() { var name = $("#name").val(); var title = $("#title").val
serialize()
,val()
。无法获取工作自动提交函数。使用按钮提交表单效果很好,每次都会发布更新的值,但autosubmit函数会使用按钮值发布上次提交的值。如何将更新的表单值发布到php
我的JS看起来像这样
var autoSaveInterval = null;
var counter = 0;
function call() {
var name = $("#name").val();
var title = $("#title").val();
var menu = $("#menu").val();
var parentcheck = $(".parentcheck:checked").val();
var id = $("#id").val();
if (parentcheck == 0) {
var parent = parentcheck;
} else {
var parent = $("#parent").val();
}
var content = $("#content").val();
var dataString = 'name=' + name + '&title=' + title + '&menu=' + menu + '&parentcheck=' + parentcheck + '&id=' + id + '&parent=' + parent + '&content=' + content;
postViaAjax(true, dataString)
}
function postViaAjax(autosaveMode, dataString) {
$.ajax({
type: "POST",
url: "processor/dbadd.php",
data: dataString,
dataType: "json",
success: function (result, status, xResponse) {
var message = result.msg;
var err = result.err;
var now = new Date();
if (message != null) {
if (autosaveMode) {
$('#submit_btn').attr({
'value': 'Yadda saxlanıldı ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
});
} else {
$.notifyBar({
cls: "success",
html: message + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
});
}
}
if (err != null) {
$.notifyBar({
cls: "error",
html: err
});
}
}
});
};
function validate() {
var name = $("#name").val();
if (name == "") {
$.notifyBar({
cls: "error",
html: "Səhifənin qısa adını daxil edin"
});
return false;
}
var title = $("#title").val();
if (title == "") {
$.notifyBar({
cls: "error",
html: "Səhifənin geniş adını daxil edin"
});
return false;
}
var menu = $("#menu").val();
if (menu == "") {
$.notifyBar({
cls: "error",
html: "Səhifə harada yerləşəcək? Mütləq birini seçin"
});
return false;
}
var parentcheck = $(".parentcheck:checked").val();
var parent = $("#parent").val();
if (!$(".parentcheck").is(":checked")) {
$.notifyBar({
cls: "error",
html: "Ayrıca yoxsa hansısa başlıq altında? Mütləq birini seçin"
});
return false;
} else if (parentcheck == '1') {
if (parent == '0') {
$.notifyBar({
cls: "error",
html: " Parent səhifəni seçin"
});
return false;
}
}
return true;
}
$(document).ready(function () {
$('.autosave').hide();
$("#add_form").submit(function (e) {
if (counter === 0) {
if (validate()) {
$('.autosave').show();
counter++;
}
}
var name = $("#name").val();
var title = $("#title").val();
var menu = $("#menu").val();
var parentcheck = $(".parentcheck:checked").val();
var id = $("#id").val();
if (parentcheck == 0) {
var parent = parentcheck;
} else {
var parent = $("#parent").val();
}
var content = $("#content").val();
var dataString = 'name=' + name + '&title=' + title + '&menu=' + menu + '&parentcheck=' + parentcheck + '&id=' + id + '&parent=' + parent + '&content=' + content;
postViaAjax(false, dataString)
e.preventDefault();
});
$('#autosave').click(function () {
if ($(this).is(':checked')) {
if (autoSaveInterval) {
clearInterval(autoSaveInterval);
}
autoSaveInterval = window.setInterval(call, 5000);
} else {
$('#submit_btn').attr({
'value': 'Yadda saxla'
});
if (autoSaveInterval) {
clearInterval(autoSaveInterval);
autoSaveInterval = null;
}
}
});
});
$(“#add_form”)。数据的serialize()应该可以工作。当你说它发布“上次提交”时,你是否用Firebug检查了帖子数据并看到了这一点?或者服务器上的数据没有更新?请尝试。没有成功。是的,我和萤火虫一起工作。问题是#提交#btn工作正常,但autosubmit发布最后保存的数据#提交#btn单击。不能让它工作。真的,我现在明白你的意思了。我不知道这是否与关闭有关。我要四处挖掘,看看能发现什么:p