2011-03-22 104 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

相關問題