сериализация прототипа возвращает функцию вместо сериализованной строки

У меня есть сценарий. В нем код.

У меня есть страница. В нем есть кое-что из db. Есть кнопка редактирования. При нажатии всплывает div и заполняется полями формы через ajaxrequest -ing внешний файл 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);

};

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

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

}

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

Спасибо.


person stormdrain    schedule 08.10.2009    source источник


Ответы (1)


var nameFormData = $('nameEdit').serialize();

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

person Fabien Ménager    schedule 08.10.2009
comment
Да, я знал это. Я просто хотел посмотреть, работает ли это место. ;) Спасибо! - person stormdrain; 09.10.2009