powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / доступ к атрибуту элемента PrimeFaces через JQuery
6 сообщений из 6, страница 1 из 1
доступ к атрибуту элемента PrimeFaces через JQuery
    #38459176
Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Пытаюсь прочитать значение атрибута VALUE элемента p:selectOneRadio:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
 <h:form id="loginFrm" style="width:500px;padding-left:400px;">
<p:selectOneRadio id="kindUserId" widgetVar="kindUser" value="#{loginBean.kindUser}">  
		            <f:selectItem itemLabel="Физ.лицо" itemValue="1" />  
		            <f:selectItem itemLabel="Юридическое лицо" itemValue="2" />  
		        </p:selectOneRadio>
<p:commandButton value="Регистрация" icon="ui-icon-power" style="width:450px;" 
		        		onclick="alert(jQuery(PrimeFaces.escapeClientId('loginFrm:kindUserId')).attr('value'));"/>
...


как результат получаю UNDEFINED. Подскажите плиз, что не правильно делаю?
...
Рейтинг: 0 / 0
доступ к атрибуту элемента PrimeFaces через JQuery
    #38459183
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
value - это обычно не атрибут, а значение элемента. Плюс с селектором не все в порядке. Надо так:
Код: javascript
1.
jQuery('#'+PrimeFaces.escapeClientId('loginFrm:kindUserId')).val()


Плюс не уверен с клиентским идентификатором, возможно, надо так: PrimeFaces.escapeClientId('kindUserId'). Но это уже в документации PrimeFaces смотрите
...
Рейтинг: 0 / 0
доступ к атрибуту элемента PrimeFaces через JQuery
    #38459196
Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanra,

в результате получаю следующую ошибку:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
13:23:07,408 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/customShop].[Faces Servlet]] (http--127.0.0.1-8080-3) Servlet.service() for servlet Faces Servlet threw exception: javax.faces.application.ViewExpiredException: viewId:/contentFrm/login.xhtml - View /contentFrm/login.xhtml could not
 be restored.
        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:205) [jsf-impl-2.1.7-jbossorg-2.jar:]
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.7-jbossorg-2.jar:]
        at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) [jsf-impl-2.1.7-jbossorg-2.jar:]
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
        at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
        at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
        at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]

13:23:16,118 INFO  [javax.enterprise.resource.webcontainer.jsf.renderkit] (http--127.0.0.1-8080-3) WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=loginFrm:tabViewId:j_idt65[severity=(ERROR 2), summary=(loginFrm:tabViewId:j_idt65: Validation Error: Value is required.), detail=(loginFrm:tabViewId:j_idt65: Validation Error: Value is required.)]



в дополнение хочу сообщить что p:selectOneRadio находится внутри <p:tab id="registerId" title="Регистрация">
Код: html
1.
2.
3.
<p:tabView id="tabViewId"> 
 <p:tab id="registerId" title="Регистрация">  
				<p:selectOneRadio id="kindUserId" widgetVar="kindUser" value="#{loginBean.kindUser}"> 
...
Рейтинг: 0 / 0
доступ к атрибуту элемента PrimeFaces через JQuery
    #38459872
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, во-первых javax.faces.application.ViewExpiredException к jQuery никакого отношения не имеет. Скорее всего, после редеплоя не была обновлена страница.
во-вторых, посмотрел исходники, '#' уже подставляется, и клиентский id не вычисляется:
Код: javascript
1.
escapeClientId:function(a){return"#"+a.replace(/:/g,"\\:")}


в-третьих, не углядел, что тут радио (p:selectOneRadio), значит, селектор будет посложнее, что-то типа такого
Код: html
1.
jQuery(PrimeFaces.escapeClientId('loginFrm:kindUserId') input[type='radio', checked='true']).val()


Лучше, конечно, посмотреть что за html там генерится.
...
Рейтинг: 0 / 0
доступ к атрибуту элемента PrimeFaces через JQuery
    #38460044
Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanra,

сработала конструкция:
jQuery(PrimeFaces.escapeClientId('loginFrm:tabViewId:kindUserId:0')).val()
...
Рейтинг: 0 / 0
доступ к атрибуту элемента PrimeFaces через JQuery
    #38460097
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dutchmanсработала конструкция:
jQuery(PrimeFaces.escapeClientId('loginFrm:tabViewId:kindUserId:0')).val()Эта конструкция созвращает константу - значение 0-го элемента. А нужно значение выбранного. У меня селектор, конечно, с ошибкой - не хватает кавычек, там должна быть вложенная конструкция, но это лучше в форум яваскрипта обращаться. Возможно, сработает такой:
Код: javascript
1.
jQuery(PrimeFaces.escapeClientId('loginFrm:kindUserId')+' input[checked=true]').val()

Смысл в том, чтобы собрать строку, в которой сначала идет закодированный ID родительского элемента (loginFrm:kindUserId), а дальше через пробел - инпут с соответствующими атрибутами. Значения атрибутов должны быть в кавычках, вот и получается вложенная конструкция. Но с true может и прокатит
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / доступ к атрибуту элемента PrimeFaces через JQuery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]