表单变量不会使用ajax调用刷新

时间:2011-01-15 00:37:10

标签: javascript jquery ajax

我正在构建一个简单的电子邮件发送表单,并希望使用ajax。表单第一次正确提交,但如果您对表单中的文本进行任何后续更改,然后再次提交,则jquery不会接收更改并发布旧数据。怎么回事?

<script type="text/javascript">
var $j = jQuery.noConflict();

$j(document).ready(function() {
    var submit_url = "mail_submit.php";
    var send_email = $j("#sendemail");

    send_email.click(function() {
        var form = $j("#post");

        $j.post(submit_url, form.serialize(), function(data) {
            alert(data);
        });

    });
});

2 个答案:

答案 0 :(得分:1)

这只是fine。 现在我希望在表单上调用submit事件,但如果您使用的是submit输入类型,请记住return false;

答案 1 :(得分:0)

我再次遇到了这个问题。

要解决它,你需要使用tinyMCE.triggerSave(); 该方法概述于http://maestric.com/doc/javascript/tinymce_jquery_ajax_form

我的最终代码是:

<script type="text/javascript">
var $j = jQuery.noConflict();

$j(document).ready(function() {
    var submit_url = "mail_submit.php?action=";
    var actions = $j("#sendEmail, a#previewEmail, a#saveEmail, a#updateEmail");
    var loading = $j("img#ajax-loading");
    var status = $j("span#post-status-display");

    actions.click(function() {
        tinyMCE.triggerSave();
        var form = $j("#post");
        var action = $j(this).attr("id");
        var update_div = $j("#update-div");
        loading.show();

        $j.post(submit_url + action, form.serialize(), function(data){
            update_div.html(data);
            update_div.fadeIn();
            loading.hide();
        });

    });
});