Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2013, 07:14
NeoAres
 
Fecha de Ingreso: mayo-2013
Mensajes: 68
Antigüedad: 11 años, 5 meses
Puntos: 0
Llamadas a js desde JSF

Mi problema consiste en que las llamadas a un archivo externo JavaScript desde onclick no me funcionan pero desde otros lados que no sea onclick ¡sí!, por ejemplo en la llamada a la función resaltada en rojo mas abajo "numbersOnly()" funciona (función escrita en el archivo js enlazado), pero las funciones desde el commandbutton o input button no, excepto la de confirm() que es una función predefinida.
alertar simplemente muestra un alert.

Código:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
    <h:head>
        <title>
            My first JSF Page
        </title>
        <script type="text/javascript" src="JavaScript/functions.js"></script>
    </h:head>
    <h:body>
        <f:view>
            <h:form id="form">
                <br/>
                <h:outputText value="Id"/>
                <h:inputText onkeypress="return numbersOnly(event);" value="#{facade.registroencurso.id}" maxlength="11"/>
                <br/>
                <input type="button" value="prueba" onclick="alertar();"></input>

                <h:dataTable border="1" value="#{facade.getListaPersonas()}" var="pform">
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Id"/>
                        </f:facet>
                        <h:outputText value="#{pform.id}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                        </f:facet>
                        <h:commandButton onclick="return confirm('¿Está seguro?');"  value="Borrar" action="#{facade.destroy(pform.id)}"/>
                    </h:column>
                </h:dataTable>
            </h:form>
        </f:view>
    </h:body>
</html>
He simplificado el código original para mayor comodidad para resolver duda
En el archivo .js solo están las funciones a secas