我正在使用js-lib转换为富编辑器(选项“粗体”,“斜体”等)。
RichEditor包含按钮UploadImage,我可以更改此按钮的回调:
function startUploadingImage(field_name, url, type, win) {
//
}
我已经创建了用于选择文件的模态窗口。 那么,我如何从函数“startUploadingImage”中调用wicket ??
我试过这样的事情:
// Java-script:
function startUploadingImage(field_name, url, type, win) {
wicketAjaxGet('..?1-1.IBehaviorListener.0-&action=uploadImage');
}
// and Wicket (class extends WebPage):
clickBehavior = new AbstractDefaultAjaxBehavior() {
@Override
protected void respond(AjaxRequestTarget target) {
IRequestParameters requestParameters = getRequestCycle().getRequest().getRequestParameters();
String action = requestParameters.getParameterValue("action").toString();
if (action.equals("uploadImage"))
modal1.show(target);
}
};
add(clickBehavior);
但这不起作用。 我在检票口打招呼,所以不要打得太多。
答案 0 :(得分:0)
您需要将AbstractDefaultAjaxBehavior网址传递给javascript,以便可以调用它。我这样做的一个简洁方法是将新数据标记添加到您添加AjaxBehavior的组件的html中。您可以通过覆盖AbstractDefaultAjaxBehavior的onComponentTag方法来完成此操作。
@Override
protected void onComponentTag(ComponentTag tag)
{
tag.put("callback-url", behavior.getCallbackUrl());
super.onComponentTag(tag);
}
现在在javascript中你需要做的就是找到callback-url标签并获取它的值,这将为你提供要调用的网址。
wicketAjaxGet($element.attr('callback-url'), function() { }, function() { });