此問題一直困擾着我,直到永無止境!JSF使用jQuery Mobile進行Ajax調用
我看到論壇帖子JSF f:ajax listener not called其中描述了我的確切問題。
我正在使用JSF 2.0,並使用Jquery mobile作爲擴展庫。
我實際上已將代碼完全從帖子中複製到我的項目中(如下所示)。
我在會話範圍中設置了相同的託管bean,打印出一行。我可以看到bean在第一個輸入文本上成功執行,其中一個分配了ajax監聽器
但它不適用於按鈕。在我的用例中,我希望按鈕只能作爲調用託管bean的橋樑,所以不希望表單提交。
我完全喪失了爲什麼bean沒有執行?
我沒有覆蓋JS類,並且只使用Jquery移動。
這是Jquery框架的限制嗎?或者更可能是我的代碼問題?
小號
<h:form id="f1">
<h:panelGroup id="switchSearchTexts">
<h:inputText accesskey="s" alt="Search" id="searchBoxPeople" title="Search Plebeians" valueChangeListener="#{peopleBean.simplePersonQuery}" size="25" rendered="#{peopleBean.easySearch}">
<f:ajax render="peopleDataTable" event="keyup" listener="#{contactsBean.morePressed}"
immediate="true"/>
</h:inputText>
<h:inputText accesskey="s" alt="Search First Name" id="searchBoxFN" title="Search First Name" size="25" rendered="#{!peopleBean.easySearch}">
<f:ajax render="moreButtonAsText" event="keyup" />
</h:inputText>
</h:panelGroup>
<div id="expandBox">
<h:inputText id="searchBoxLN" alt="Search Last Name" styleClass="hideToggle" title="Search Last Name" size="25" />
<h:inputText id="searchBoxAddress" alt="Search Address" styleClass="hideToggle" title="Search Address" size="25" />
</div>
<h:commandButton type="button" styleClass="moreButtonAsText" id="moreButtonAsText" value="More">
<f:ajax listener="#{contactsBeanFaces.morePressed}"/>
</h:commandButton>
</h:form>
***修正****
我的道歉,我認真地亂投醫!併發布錯誤的代碼迭代!
我發現一個很棒的筆記: http://java.dzone.com/articles/ajax-jsf-joined這得到了巨大的幫助,但是仍然沒有成功。我覺得jquery mobile正在搞亂這個事件?
我相信也可能有一個按鈕需要在一個窗體?
對不起,基本的問題,但我是一個Jdeveloper的傢伙,誰是學習倒退....東西的DOM和客戶端java/html方面幾乎不公平地隱藏與此應用程序。我喜歡客戶端庫,並通過這個過程學習了很多東西......但強烈的要求是我可以調用服務器端邏輯!
任何想法將非常感激!
想要在每個鍵盤上點擊'moreButtonAsText'按鈕? – Daniel
我的歉意,我認真地嘗試了一切!併發布錯誤的代碼迭代! – MagicFlow
哦,對不起,丹尼爾 - 不,我只是想能夠執行一個bean(我使用這個用於服務器端行集操作)是主要的細節關係。我想創建一個編輯地址屏幕,以一種形式顯示員工的地址 - 只顯示選定的地址。要做到這一點,我想在服務器上執行一個託管bean來選擇顯示/編輯所選擇的記錄。我將使用用戶單擊選擇記錄並啓動此過程。 – MagicFlow