對Javcascript沒有太多的知識,除了用於某些Dynamic HTML。現在我冒險了一點Ajax地面,並與下面的代碼有問題(借用從 http://kpumuk.info/php/ajax-enabled-smarty-plugins-part-2-ajax_form/和編輯,以適應我的需要)。Javascript prototype.js:如何將參數傳遞給回調函數
如何將update_id參數傳遞給obSubmit函數?
var SmartyAjax = {
submit: function(form, update_id, params, callback)
{
var myAjax = new Ajax.Request(
form.action,
{
method: form.method,
parameters: Form.serialize(form.id),
onComplete: callback || this.onSubmit
});
},
onSubmit: function(originalRequest)
{
var results = originalRequest.responseText;
this.target = $("target2");
this.target.innerHTML = results;
}
}
我想UPDATE_ID傳遞給函數的onsubmit,這樣我可以將其指定爲目標。根據Prototype文檔,它會自動獲取作爲第一個參數傳遞的Ajax.Response對象。所以,這就是originalRequest引用的內容。我沒有看到將update_id傳遞給該函數的方法。我怎麼做?
在相關說明:我第一次看到這個「name:function(){}」語法。那是什麼?這是否需要,因爲它創建了一個對象的方法?一個指針簡單的解釋將不勝感激。
非常感謝!
@bolero - 不要用上面的*替換你的'onSubmit',它只是一個例子,表明不管你用'onSubmit'(無論是回調還是基礎'onSubmit'),現在都會得到第二個論據。例如你可以在'onSubmit'函數簽名中添加第二個參數並在裏面使用它,但是當前的代碼仍然需要運行來更新元素。 – 2010-10-31 13:02:42
@bolero - 我還看到一個額外的'x'在那裏滑動,可能會拋出一個錯誤:'var complete = callback || this.onSubmitx;'應該是'var complete = callback || this.onSmitmit;' – 2010-10-31 13:03:23
我不明白我如何發佈評論的方式與我發佈原始問題的方式相同?例如體面的代碼格式。我怎麼做? 當我把你的代碼傳遞給我的代碼時,它運行了一點,變量不會以某種方式傳遞。我想發佈代碼,但comnment字段只是提交未格式化的垃圾,所以我刪除了我的評論。 – bolero 2010-10-31 13:08:01