Jquery ajax保存按钮和保存退出按钮

Jquery ajax保存按钮和保存退出按钮,ajax,jquery,Ajax,Jquery,jquery的新特性。如何创建一个带有保存按钮和保存退出按钮的简单表单 我现在所拥有的在某种程度上起到了“作用”。但当我发布后,单击保存退出。然后返回到/messages。使用该表单并单击“保存”“退出”“将其张贴并保留在页面上”。但是,如果我重复,它将发布并退出 JQUERY var BASE = 'http://localhost/sym/messages'; $('#xhrSave').submit(function() { event.preventDefault();

jquery的新特性。如何创建一个带有保存按钮和保存退出按钮的简单表单

我现在所拥有的在某种程度上起到了“作用”。但当我发布后,单击保存退出。然后返回到/messages。使用该表单并单击“保存”“退出”“将其张贴并保留在页面上”。但是,如果我重复,它将发布并退出

JQUERY

var BASE = 'http://localhost/sym/messages';

$('#xhrSave').submit(function() {

    event.preventDefault();

    $('[name="save_continue"]').click(function() {
        window.location = '#';
    });

    $('[name="save_exit"]').click(function() {
        window.location = BASE;
    });

    var url = $(this).attr('action');
    var data = $(this).serialize();

    $.ajax({
        type: 'post',
        url: url,
        dataType: 'json',
        data: data,
        success: function(data) {

            $('#message_list').append('<div>' + data.message + '<a class="delete" rel="'+ data.id +'" href="#">Delete</a></div>');

        }

    });

    // clear textbox
    $('#form_message').val('');

});
var-BASE=http://localhost/sym/messages';
$('#xhrSave')。提交(函数(){
event.preventDefault();
$('[name=“save_continue”]')。单击(函数(){
window.location='#';
});
$('[name=“save_exit”]')。单击(函数(){
window.location=BASE;
});
var url=$(this.attr('action');
var data=$(this.serialize();
$.ajax({
键入:“post”,
url:url,
数据类型:“json”,
数据:数据,
成功:功能(数据){
$(“#消息列表”).append(“”+data.message+“”);
}
});
//清除文本框
$('form#u message').val('');
});
HTML


做这件事的方法有很多,没有一种可以说是最好的,只是把我通常使用的方法说出来

将您的html更改为:

<input type="text" name="message" value="" id="form_message" />

<button type="submit" name="save_continue" class="save_continue save_form">Save</button>
<button type="submit" name="save_exit" class="save_exit save_form">Save-Exit</button>

拯救
保存出口
和js:

function myajaxcall(type){
                     var url = $(this).attr('action');
        var data = $(this).serialize();

        $.ajax({
            type: 'post',
            url: url,
            dataType: 'json',
            data: data,
            success: function(data) {

                $('#message_list').append('<div>' + data.message + '<a class="delete" rel="'+ data.id +'" href="#">Delete</a></div>');
                //one way to redirect
               if(type=="exit")
               window.location = "thepageyouwanttogo.php"

            }

        });
}
$('.save_continue').click(function() {
        myajaxcall("continue")
});
$('.save_exit').click(function() {
        myajaxcall("exit")
});
函数myajaxcall(类型){
var url=$(this.attr('action');
var data=$(this.serialize();
$.ajax({
键入:“post”,
url:url,
数据类型:“json”,
数据:数据,
成功:功能(数据){
$(“#消息列表”).append(“”+data.message+“”);
//重定向的一种方法
如果(类型=“退出”)
window.location=“thepage youwanttogo.php”
}
});
}
$('.save_continue')。单击(函数(){
myajaxcall(“继续”)
});
$('.save_exit')。单击(函数(){
myajaxcall(“退出”)
});

注意:我没有在ajax中检查您的js,只是复制了它以供提问

所以当我们单击save_continue时,您希望通过ajax发送数据吗?是的,该部分确实按照代码的方式工作,但可能不是最佳方式。不确定这是否是您想要的。如果我错了,请更正我希望两个按钮都发布到数据库,一个保持在同一页上,另一个退出到另一页我现在看到了。有没有办法不在两种方法中复制.ajax调用?是的,将其存储在函数(包括序列化)中。使用一个参数保留函数,该参数将包含按下的按钮,然后在重定向链接上设置if条件。简单:)
function myajaxcall(type){
                     var url = $(this).attr('action');
        var data = $(this).serialize();

        $.ajax({
            type: 'post',
            url: url,
            dataType: 'json',
            data: data,
            success: function(data) {

                $('#message_list').append('<div>' + data.message + '<a class="delete" rel="'+ data.id +'" href="#">Delete</a></div>');
                //one way to redirect
               if(type=="exit")
               window.location = "thepageyouwanttogo.php"

            }

        });
}
$('.save_continue').click(function() {
        myajaxcall("continue")
});
$('.save_exit').click(function() {
        myajaxcall("exit")
});