Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如何将更新的表单值发布到php?_Ajax_Forms_Jquery_Post - Fatal编程技术网

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