JavaScript + JSF: Problem
luizsync Jun 29, 2010 10:52 AMGood day!
I've got some problems with JavaScritp and JSF.
Please, could someone help-me?
I'm trying to integrate this javaScript in my JSF source:
// --------------------- validacao.js --------------------- public boolean teste(String f) { if (f==''){ alert('vazio') }else{ alert('cheio ' + f) } }
This is my JSF source:
//---------------------------------------------------------------
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:rich="http://richfaces.org/rich" template="layout/template.xhtml"> <ui:define name="head"> <script language="javascript" src="javascripts/validacao.js" ></script> </ui:define> <ui:define name="body"> <h1>Welcome to Seam!</h1> <rich:panel> <h:panelGrid columns="1"> <s:div styleClass="info"> <h:form id="userForm"> teste: <h:inputText id="numero" value="" /> <h:commandButton id="lnkDeleteUser" value="teste" onclick=" var numero = document.getElementById('userForm:numero').value ; teste(numero); " action="/javascript2.xhtml" /> </h:form> </s:div> </h:panelGrid> </rich:panel> </ui:define> </ui:composition> //---------------------------------------------------------------
there are those tags where I call my validacao.js:
<ui:define name="head"> <script language="javascript" src="javascripts/validacao.js" ></script> </ui:define> But the onclick doesn't work: <h:form id="userForm"> teste: <h:inputText id="numero" value="" /> <h:commandButton id="lnkDeleteUser" value="teste" onclick=" var numero = document.getElementById('userForm:numero').value ; teste(numero); " action="/javascript2.xhtml" /> </h:form>
If I put this source code it works nice:
<h:form id="userForm"> teste: <h:inputText id="numero" value="" /> <h:commandButton id="lnkDeleteUser" value="teste" onclick=" if (document.getElementById('userForm:numero').value == '') alert('Olá!') ; else alert('tchau!'); " action="/javascript.xhtml" /> </h:form>
Where is my mistake?