Переменная формы не обновляется при вызове ajax - PullRequest
0 голосов
/ 15 января 2011

Я создаю простую форму для отправки электронной почты и хотел сделать это с помощью 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 ]

1 голос
/ 15 января 2011

Работает просто отлично .Теперь я бы предпочел вызывать событие submit на самой форме, но если вы используете тип ввода submit, не забывайте return false;

0 голосов
/ 18 января 2011

Я снова столкнулся с этой проблемой.

Для ее решения вам нужно использовать 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();
        });

    });
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...