从不是wicket组件的元素调用wicket
call wicket from the element that is not wicket-component
我正在使用js-lib转换为富编辑器(带有"bold"、"italic"等选项)。
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);
但这并不奏效。我在三柱门上很笨,所以打得不多。
您需要将AbstractDefaultAjaxBehavior url传递给javascript,以便调用它。我做这件事的一个巧妙方法是在添加AjaxBehavior的组件的html中添加一个新的数据标记。你可以通过重写AbstractDefaultAjaxBeheior的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() { });
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 从不是wicket组件的元素调用wicket
- Wicket Ajax错误日志:Error:无法绑定事件"click"监听器;元素"Aja