我正在尝试在页面“[MyPage]”中使用模态窗“[MW]”。
在[MyPage]中,有一个表单,div
有一个wicket id到[MW]。 div
不在[MyPage]的格式中。
在[MW]中,我可以使用一种形式进行搜索以从数据库中检索信息。
事实上,我的所有表单在Firefox和Chrome中运行良好。但是在IE中,当我在[MyPage]中提交表单时,它会显示[MW]。
我不知道如何解决这个问题,因为我已经将modalWindow和[MyPage]中的表单分开了。我尝试过像onclick =“formInMyPage.submit()”这样的Javascript,但它仍然无效。
答案 0 :(得分:0)
很抱歉这么晚回答,但我迷失在代码中。我没有写它,我仍然从Wicket开始 我想从一开始就重新开始但是我很难理解我似乎无法理解的问题......我创建了一个简单的表单:
打开和关闭modalWindow并不困难,但是从modalWindow发送一个值以便将其插入表单几乎是不可能的。
我几乎完全按照互联网上的教程,我不明白它出错的地方...... 在测试我的代码时,这就是我得到的:
以下是正式页面中的一些代码
serialNumber = new TextField("serialNumber");
modalMateriel = new ModalWindow("modalMateriel");
modalMateriel.setContent(new ModalWindowMateriel(modalMateriel.getContentId()){
public void onSave(AjaxRequestTarget ajaxRequestTarget){
ajaxRequestTarget.addComponent(serialNumber);
modalMateriel.close(ajaxRequestTarget);
}
});
modalMateriel.setInitialWidth(1000);
modalMateriel.setWidthUnit("px");
modalMateriel.setInitialHeight(450);
modalMateriel.setHeightUnit("px");
modalMateriel.setTitle(getString("ManageRMA_modal_materiel_title"));
modalMateriel.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
addOrReplace(modalMateriel);
serialNumber.setEnabled(false);
serialNumber.setOutputMarkupId(true);
form.addOrReplace(serialNumber);
form.addOrReplace(new AjaxLink("showModalMaterielButton") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget){
ajaxRequestTarget.appendJavascript( "Wicket.Window.unloadConfirmation = false;" );
modalMateriel.show(ajaxRequestTarget);
}
}.setVisible(true));
这是modalwindow
private String serialNumberRecherche;
public ModalWindowMateriel(String id){
super(id);
Form form = new Form("formMaterielsConsultation");
List<String> list = new ArrayList<String>();
list.add("1");
list.add("11");
list.add("111");
list.add("1111");
list.add("11111");
form.addOrReplace(new DropDownChoice("serialNumberRecherche",new PropertyModel(this,"serialNumberRecherche"),list));
//The submit button which aim is ti upDate "serialNumber" in the formal page
AjaxButton button = new AjaxButton("Envoyer"){
protected void onSubmit(AjaxRequestTarget ajaxRequestTarget, Form form) {
onSave(ajaxRequestTarget);
}
};
form.add(button);
add(form);
}
public abstract void onSave(AjaxRequestTarget ajaxRequestTarget);
public String getSerialNumberRecherche() {
return serialNumberRecherche;
}
public void setSerialNumberRecherche(String serialNumberRecherche) {
this.serialNumberRecherche = serialNumberRecherche;
}