0
我有一個'保存'按鈕,這是一個AjaxButton,我試圖以編程方式調用點擊。我有一個鏈接,我想用它來調用這個按鈕的處理程序。在我AjaxLink,我追加AJAX像這樣:無法呼叫在檢票中的ajax按鈕上的點擊事件
target.appendJavaScript("$('#save-irs1095c-button').click();");
當這段代碼被調用時,檢票口拋出以下異常
所以,我的問題是,什麼可能會導致此錯誤,是否有解決方法,以編程方式調用我的'保存'按鈕沒有實際點擊? 我已經離開了我的組件的默認表單處理,所以這個ajax按鈕現在作爲我的提交。下面是Ajax的按鈕的代碼:
new AjaxButton("save-modal", coveredForm) {
/**
*
*/
private static final long serialVersionUID = 1975475919740938717L;
public void onSubmit(AjaxRequestTarget target, Form<?> myForm)
{
//form submission method
dataProvider.getIrs1095cSummaryPktManager().save(coveredModel.getObject());
target.add(EmployeeDetailPanel.this);
}
}
這裏是因爲我想點擊的鏈接代碼,然後將編程電話會議上表示的Ajax按鈕:
new AjaxLink<Object>("label-ee-name-link") {
/**
*
*/
private static final long serialVersionUID = 6360058776603040349L;
@Override
public void onClick(AjaxRequestTarget target) {
EmployeeDetailPanel.this.setEEInfoShowing();
logr.log(Level.FINER,"save button visible: " + coveredForm.get("save-modal").isVisible());
logr.log(Level.FINER, "save button enabled: " + coveredForm.get("save-modal").isEnabled());
List<Behavior> bList = (List<Behavior>)((AjaxButton)coveredForm.get("save-modal")).getBehaviors();
if(bList != null ? !bList.isEmpty() : false)
{
for(Behavior b : bList)
{
logr.log(Level.FINER, "Behavior: " + b.toString() + " is enabled: " + b.isEnabled(coveredForm.get("save-modal")));
}
}
target.appendJavaScript("$('#save-irs1095c-button').click();");
}
}
正如你所看到的,我正在檢查組件是否可見,已啓用,並且其行爲已啓用。
下面是阿賈克斯按鈕的HTML片段,並隨後片段的鏈接:
<div class="col-lg-10 col-lg-offset-1 text-center">
<button class="btn btn-primary" wicket:id="back-to-ee-info">Back</button>
<button id="save-irs1095c-button" class="btn btn-primary" type="submit" wicket:id="save-modal">Save</button>
<button class="btn btn-primary" wicket:id="show-notes-button">Notes</button>
</div>
<h4 class="modal-title"><a href="" wicket:id="label-ee-name-link"><label wicket:id="emp-name"></label></a></h4>
任何幫助深表感謝。謝謝。
感謝您的編輯建議。 – SteveManC
您應該真正使用'isVisibleInHierarchy()'和'isEnabledInHierarchy()'作爲組件。你使用哪個版本的Wicket? –
當前使用7.2.0。雖然我進行了三重檢查,並且所有父母都可見,但我爲'isVisibleInHierarchy()'獲取了錯誤。這個頁面上有兩個主要的「容器」,它們都處於同一層次,並且此時包含按鈕的容器是可見的。 – SteveManC