prototype serialize返回函数而不是序列化字符串

时间:2009-10-08 20:41:50

标签: javascript ajax serialization prototypejs

我有一个脚本。它就是代码。

我有一个页面。这是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);

};

如果我在onCreate中定期发出“hai guise”警报,它会发出警告。但是,如果我添加了应该包含序列化数据的函数,它将返回:

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

}

也是蛋糕:如果不是$('editName').serialize;,我有$('clientNameFirst').value;(editName表单中的输入ID之一),它将返回相关值。 HALP?

THX。

1 个答案:

答案 0 :(得分:2)

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

您必须添加括号才能执行该功能,否则您将获得该功能。