0

我正在使用 js-lib 转换为富编辑器(带有选项“粗体”、“斜体”等)。

RichEditor 包含按钮 UploadImage,我可以更改此按钮的回调:

function startUploadingImage(field_name, url, type, win) {
    //
}

我已经创建了用于选择文件的模式窗口。那么,我如何从函数“startUploadingImage”调用检票口?

我试过这样的事情:


// 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);

但这不起作用。我是检票口的初学者,所以不会打太多。

4

1 回答 1

0

您需要将 AbstractDefaultAjaxBehavior url 传递给 javascript,以便可以调用它。我这样做的一种巧妙方法是将一个新的数据标签添加到您添加 AjaxBehavior 的组件的 html 中。您可以通过覆盖 AbstractDefaultAjaxBehavior 的 onComponentTag 方法来做到这一点。

@Override
protected void onComponentTag(ComponentTag tag) 
{       
    tag.put("callback-url", behavior.getCallbackUrl());     
    super.onComponentTag(tag);
}

现在在 javascript 中,您所要做的就是找到 callback-url 标记并获取它的值,这将为您提供要调用的 url。

wicketAjaxGet($element.attr('callback-url'), function() { }, function() { });  
于 2012-09-18T10:55:31.213 回答