使用jQuery发布表单并希望在单击后更改提交按钮

时间:2014-04-08 15:57:02

标签: javascript jquery ajax

使用jQuery发布表单,并在点击后想要更改提交按钮。

这里是我使用的代码:P但是没有用!

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<script>

$(document).ready(function(){

  $("#button").click(function(){

 $("#button").submit(sendForm)
});

function sendForm() {

    $.post('post.cfm',$("#button").serialize(),function(data,status){

        $("#result").html(data)
    });

    return false
}

$("#button").html("Friend request sent");

  });

});

</script>
</head>
<body>
<form id="button">
<input type="submit" value="Add as a friend">
</form>

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$(document).ready(function(){
    // #button is your form's id, it's confusing
    $('#button').on('submit', function(e){
        e.preventDefault();
        var form = $(this);
        $.post('post.cfm', form.serialize(), function(data){
            $("#result").html(data);
            form.find(':submit').val("Friend request sent");
        });
    });
});

另外,在表单中添加一些输入(文本框作为表单数据发布),然后给你的提交按钮name/id(更好),是的,你问这个消息到底是什么,这是因为你没有提供足够的信息,只提供了一些代码,StackOverflow要求提供更多信息,以便任何人都可以理解这个问题,结果你会受益。无论如何,请正确阅读documentation,您需要先学习基础知识,这不是教程网站。

答案 1 :(得分:0)

你可以试试这个:

var sendForm = function() {

    $.post('post.cfm',$("#button").serialize(),function(data,status){

        $("#result").html(data)
    });

    var request = $.ajax({
        type:'POST',
        dataType:'json',
        url:'post.cfm',
        data:{
            data: $('#button').val()
        },
        success:function(data){
            console.log(data);
            // Do something
        },
        error:function(data){
            console.log(data);
            // Do something
        }
    });
    request.done(function(data){
        alert("Friend request sent");
    });

    return false;
}

$(document).ready(function(){

  $("#button").click(function(){

 $("#button").submit(sendForm)
});