0

リッチエディターへの変換に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);

しかし、これはうまくいきません。私はウィケットのビギナーなので、あまり打ちません。

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 でコールバック URL タグを見つけてその値を取得するだけで、呼び出す URL が得られます。

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