组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
toggle
German Tugores
How to call button on JSF page from javascript
2012年4月15日 下午4:05
答复

German Tugores

等级: Junior Member

帖子: 33

加入日期: 2012年3月1日

最近的帖子

Hi everyone,

I'm developing a portlet using JSF + Icefaces, I'm trying to execute a method in a managed bean calling it from the javascript onclick event of a button.

This is the code in the xhtml page:

<ui:define name="component-example">
<ice:portlet styleClass="formRadioPrincipal">
<h:form id="formRadioP">
<h:panelGrid columns="1" styleClass="panelPrincipal">
<script type="text/javascript">
function exampleScript() {
document.getElementById("btnOculto").click();
}
</script>
<h:outputText value="Programas radiales que nos acompanan"
styleClass="tituloRadio" />
<h:outputText
value="Haga click en un departamento para ver los diferentes programas"
styleClass="tituloRadio2" />
<ice:graphicImage id="giMapa" ismap="true"
url="/css/images/mapaV2.gif" styleClass="imagenMapa"
usemap="#map1" />

<map name="map1">
<area shape="rect" coords="68,100,149,130"
onclick="exampleScript()" title='Salto' />
</map>

<h:commandButton id="btnOculto" value="BotonIr"
actionListener="#{principalMB.pruebaJS}"/>
</h:panelGrid>
</h:form>
</ice:portlet>
</ui:define>

And the code in the managed bean:

public void pruebaJS(ActionEvent e){
System.out.println("Same text in console");
}

Calling the exampleScript() function works... I've put an alert() to test it and the call to the function works well.

I think the problem is in the document.getElementById("btnOculto"), I don't know how I should reference the "btnOculto" button from javascript?
David H Nebinger
RE: How to call button on JSF page from javascript
2012年4月15日 下午6:48
答复

David H Nebinger

等级: Liferay Legend

帖子: 7075

加入日期: 2006年9月1日

最近的帖子

All IDs defined in the basic page, when rendered, are fully namespaced to guarantee uniqueness. If you view the source on the generated page you'll see that your ID will end with btnOculto, but that will not be the actual id of the element.

Finding by ID is not going to work well because of this.
Neil Griffin
RE: How to call button on JSF page from javascript
2012年4月16日 上午7:42
答复

Neil Griffin

LIFERAY STAFF

等级: Liferay Legend

帖子: 2101

加入日期: 2005年7月26日

最近的帖子

You might want to check for JavaScript errors in a console like FireBug.

Here are some links to research for alternatives to getElementById():
http://stackoverflow.com/questions/4275071/javascript-getelementbyid-wildcard
http://stackoverflow.com/questions/1206739/find-all-elements-on-a-page-whose-element-id-contains-a-certain-text-using-jquer
German Tugores
RE: How to call button on JSF page from javascript
2012年4月16日 下午2:29
答复

German Tugores

等级: Junior Member

帖子: 33

加入日期: 2012年3月1日

最近的帖子

Hi again,

I checked the button's name with firebug, changed the name and it's working fine now! Thank you both for your replies.