Hello, I have yet again very odd situation here. When I try to press Confirmar in dialog box it doesn't get fired, and the reason it I may suspect is because dialog goes to the bottom of DOM, so my submit button is actually not inside of the current form anymore. I tried to wrap it with yet another form, but it wouldn't get fired, since all values are inside the current form.
For better understanding what I am talking about I am providing source code that looks like this: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package rs.domaci.pages; import org.apache.commons.lang.StringUtils; import org.apache.tapestry5.ComponentResources; import org.apache.tapestry5.EventConstants; import org.apache.tapestry5.PersistenceConstants; import org.apache.tapestry5.alerts.AlertManager; import org.apache.tapestry5.alerts.Duration; import org.apache.tapestry5.alerts.Severity; import org.apache.tapestry5.annotations.Component; import org.apache.tapestry5.annotations.InjectComponent; import org.apache.tapestry5.annotations.OnEvent; import org.apache.tapestry5.annotations.Persist; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.corelib.components.Form; import org.apache.tapestry5.corelib.components.Zone; import org.apache.tapestry5.hibernate.annotations.CommitAfter; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.json.JSONObject; import org.apache.tapestry5.services.ComponentSource; import org.apache.tapestry5.services.Request; import org.apache.tapestry5.services.ajax.AjaxResponseRenderer; import org.hibernate.Session; import rs.domaci.entities.Tiket; import rs.domaci.entities.TiketStatus; import rs.domaci.entities.TipDrawTiketa; import rs.domaci.entities.TipOsoblja; import rs.domaci.services.ProtectedPage; /** * This page is for generating tickets! * * @author */ @ProtectedPage(getTipOsoblja = TipOsoblja.ADMIN) public class AddTickets { @Property private String drawNumberOfTicket; @Inject private Session hibernate; @Property private int series; @Property @Persist(PersistenceConstants.CLIENT) private String datum; @Inject private ComponentSource componentSource; @Property // price private int cijena; @Property @Persist private String kopijaDatum; @Property @Persist private int kopijaBroj; /** * @Property private */ @Property @Persist(PersistenceConstants.CLIENT) private int broj; @Property private int brojTiketa; @Property private TiketStatus status = TiketStatus.DISPONIBLE; @InjectComponent private Zone zonaDjelovanja; @Inject private Request request; @Inject private AjaxResponseRenderer ajaxResponseRenderer; @Inject private ComponentResources componentResources; @Property @Persist(PersistenceConstants.FLASH) private TipDrawTiketa drawTip; @Inject private AlertManager manager; @Component(id = "dodajTiket") private Form form; // Generally useful bits and pieces void setupRender() { datum = null; updateDisplay(drawTip); } public String getFormatirajMe() { String prviDio = String.format("%03d", series); String drugiDio = String.format("%02d", broj); return prviDio + drugiDio; } public Object getOsvjeziZonu() { if (drawTip == drawTip.LOT_NAC) { brojTiketa = 20; return zonaDjelovanja.getBody(); } else if (drawTip == drawTip.CHANCES) { brojTiketa = 10; return zonaDjelovanja.getBody(); } else if (drawTip == drawTip.NAVIDENA) { brojTiketa = 10; return zonaDjelovanja.getBody(); } else { brojTiketa = 10; return zonaDjelovanja.getBody(); } } @OnEvent(value = EventConstants.VALUE_CHANGED, component = "drawTip") public Object updateDisplay(TipDrawTiketa tipDrawTiketaa) { drawTip = tipDrawTiketaa; if (drawTip == TipDrawTiketa.LOT_NAC) { brojTiketa = 20; return zonaDjelovanja.getBody(); } else if (drawTip == TipDrawTiketa.CHANCES) { brojTiketa = 10; return zonaDjelovanja.getBody(); } else if (drawTip == TipDrawTiketa.NAVIDENA) { brojTiketa = 20; return zonaDjelovanja.getBody(); } else { brojTiketa = 20; return zonaDjelovanja.getBody(); } } /** * * @return */ @OnEvent(value = "submit", component = "dodajTiket") @CommitAfter void onSuccess() { hibernate.save(new Tiket(StringUtils.leftPad(String.valueOf(series + "" + broj), 5, ""), datum, drawTip, String.format("%03d", series), String.format("%02d", broj), String.format("%02d", brojTiketa), status, cijena)); String redom = "Created ticket sheet serial " + series + "\n" + " number " + broj; manager.alert(Duration.UNTIL_DISMISSED, Severity.INFO, redom); componentResources.discardPersistentFieldChanges(); } @Property private JSONObject params; @OnEvent(EventConstants.ACTIVATE) public void onActivate() { kopijaBroj = brojTiketa; params = new JSONObject(); params.accumulate("modal", true); params.accumulate("width", 330); } } My Q. is should I make event instead of submit and make onDodajTiket event which will get fired once I click on a button Confirmar or is there any other solution, easier one, to this?