对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