0
我製作了一個使用Tapestry5-JQuery並啓用了JQuery UI的應用程序。我創建了一個頁面,這樣定義一個jQuery的對話框:Tapestry5-JQuery對話框按鈕事件沒有觸發
<t:form>
<t:jquery.dialoglink t:dialog="dlgUrl">Show Dialog</t:jquery.dialoglink>
<t:jquery.dialog t:clientId="dlgUrl" params="dlgUrlParams">
<table class="dlgContent">
<tr>
<td><t:label for="urlName" class="dlgLabel" /></td>
<td><t:textfield t:id="urlName" value="name" class="dlgComponent" label="Name:" />
</td>
</tr>
<tr>
<td><t:label for="url" class="dlgLabel" /></td>
<td><t:textfield t:id="url" value="url" class="dlgComponent" label="Url:" />
</td>
</tr>
</table>
<div class="dlgBtnAlign">
<t:submit class="ui-button ui-widget" value="Ok" t:id="dlgUrlOk"/>
</div>
</t:jquery.dialog>
</t:form>
的頁面相關的Java類是這樣的:
public class DialogTestPage {
public JSONObject getDlgUrlParams() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("title", "URL");
jsonObject.put("modal", "true");
jsonObject.put("dialogClass", "dlgFileAdjust");
return jsonObject;
}
@OnEvent(value = EventConstants.SELECTED, component = "dlgUrlOk")
void onClickDlgUrlOk() {
//Run code after clicking ok
}
void onSuccess(){
//Run code after form submit
}}
當我運行應用程序,「OK」按鈕不火SELECTED事件,而不是onSuccess處理程序。
謝謝。
我的問題是與顯示與對話框鏈接對話框無關。我的問題是,對話框標籤內的按鈕不會觸發事件。謝謝。 – dovahkiin
好吧,我的壞。問題是你無法將對話框封裝在表單中。該插件將對話框容器移動到您的DOM底部,因此提交按鈕實際上不在表單內。 – criedel
謝謝。把表單標籤放在t:jquery.dialog中解決了這個問題。 – dovahkiin