我使用Wicket 6.xx,并且我有一个Wicket Form
用于上传一些文件。这不是问题。问题是我需要在提交表单后在页面上运行一些JavaScript,以显示基于JavaScript的模式弹出窗口。Wicket:提交表单时运行JavaScript
但是,我不能这样做,因为我没有AjaxRequestTarget
对象,因为表单提交不是Ajax调用。或者至少,我猜这就是原因。我试过以下,从另一个线程拍摄,但它不工作:
From<RequestInfo> uploadFrm = new Form<RequestInfo>("uploadFrm", getModel()) {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit() {
AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
target.appendJavascript("..."); //NullPointerException: target is always null
}
};
你可以从我把那里评论说,target
总是null
。
在这种情况下运行一些JavaScript的正确方法是什么?有没有合适的方法?
我曾尝试过这种解决方案,但不知道是否覆盖“isTemporary”,我无法找到如何在渲染后将其删除。感谢您的信息,最终与ajax解决方案一起使用,但这是一个很好的选择,+1 –