2011-03-22 96 views
1

我确信这个问题有一个简单的答案,我只是对于Ajax太新而无法看到它。具有多个输入的setCallbackHandler函数

我正在使用CF 9,我试图设置callbackfuntion来接受多个输入,但是,我不知道ajax调用的结果的默认名称。

这里是什么在起作用:

var mySSN = document.getElementById("SSN"); 
var cfc = new myajax(); 
cfc.setCallbackHandler(UpdateValidationNotes); 
cfc.ValidateSSN(mySSN.value); 

,这里是我所试图做的事:

var mySSN = document.getElementById("SSN"); 
var cfc = new myajax(); 
cfc.setCallbackHandler(UpdateValidationNotes(MyField, AjaxResults); 
cfc.ValidateSSN(mySSN.value); 

但是,我不知道,因为回调处理程序如何引用Ajax的结果正在自动进行。任何人都可以帮助失去新手?

感谢

回答

2

给这样一个尝试,

var mySSN = document.getElementById("SSN"); 
var cfc = new myajax(); 
cfc.setCallbackHandler(function(AjaxResults) {UpdateValidationNotes(MyField, AjaxResults);}); 
cfc.ValidateSSN(mySSN.value); 
+0

另一种方式工作,但这太好了!谢谢(你的)信息!! – Limey 2011-03-22 21:16:02

1

回调处理函数只能拿一个参数,将被传递到您的处理功能,自动的。这将是代理从JSON反序列化为JavaScript表示的CFC的返回值。(see CFAjaxProxy docmentation

当您调用setCallbackHandler时,只需传递没有参数的函数。

它看起来像你试图确定哪个字段,你只是验证可能会显示通知,如果它不验证。在这种情况下,我所做的就是将字段名称提交给服务器,并让服务器将它返回给响应。

+0

这正是我想要做的事。我不想写一百万个迷你函数,它们都做了同样的事情(用备注更新div)。看起来像我唯一的选择就像你说的那样,将它传递给服务器并将其传回。 – Limey 2011-03-22 18:02:27