прототип serialize возвращает функцию вместо сериализованной строки - PullRequest
0 голосов
/ 09 октября 2009

У меня есть скрипт. В нем есть код.

У меня есть страница. В нем есть кое-что из БД. Есть кнопка редактирования. При нажатии выскакивает div и заполняется полями формы через ajaxrequest - внешний php-файл. форма имеет имя, и это имя nameEdit. В этой форме есть кнопка, которая вызывает функцию js, т.е. Отправить. в этой функции JS это:

function testAdd(func,cid,itemid){

    var nameFormData = $('nameEdit').serialize;
    var options = {
        method:'post',
        postBody:nameFormData,
        onCreate: function() {alert('created request'+nameFormData)},
        onSuccess: function(transport){var container_div = $('completeDiv$i');container_div.update('<b>HOKAY!</b>');},
        onComplete: function(transport){var container_div = $('updatingDiv$i');Effect.toggle('transDiv$i','appear', { delay: 1.0 });container_div.update('');},
        onFailure: function(){alert('Something went wrong...')}
    };

        new Ajax.Request('/clients/'+func+'/'+cid+'/'+itemid,options);

};

если я добавлю в onCreate обычное оповещение «hai guise», оно выдаст предупреждение, как и должно. Но если я добавлю функцию, которая должна содержать сериализованные данные, она вернет следующее:

function () {
return __method.apply(null, [this].concat($A(arguments)));

}

также выпекает: если вместо $('editName').serialize; у меня будет $('clientNameFirst').value; (один из идентификаторов ввода внутри формы editName), он вернет соответствующее значение. Halp

Thx.

1 Ответ

2 голосов
/ 09 октября 2009
var nameFormData = $('nameEdit').serialize();

Вы должны добавить скобки для выполнения функции, иначе вы получите саму функцию.

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