Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2010, 02:57
jessifb88
 
Fecha de Ingreso: julio-2008
Mensajes: 62
Antigüedad: 15 años, 9 meses
Puntos: 0
jsf ejecutar action de commandButton mediante Js

Hola a todos!
Tengo el siguiente problema:
En mi lucha por conseguir distinguir si el usuario tiene habilitado javascript en su navegador o no, me he creado una variable en el flow que valga 0 si el javascript está deshabilitado o 1 si está habilitado. Por defecto la variable está inicializada a 0.
Tengo mi variable en el flow "jsActivado"
Un botón oculto:
<h:commandButton id="btn-jsActivado" value="#{jsActivado.value}" action="incrementarJsActivado"/>
Un trozo de código javascript:
<script>
var btnJsActivado = document.getElementById('f1:btn-jsActivado');
if (btnJsActivado.value == 0) {
btnJsActivado.click();
}
</script>
Mi planteamiento es que si el usuario tiene habilitado javascript se ejecutará el código entre las etiquetas "script" y al hacer el click del botón desde el código javascript, que se ejecute el action que le tengo establecido. El problema es que el formulario entra en un bucle infinito porque se hace el click del botón pero no se ejecuta el action y no se cambia el valor de la variable. ¿Sabe alguien cómo hacer que se ejecute la acción del botón al "simular que se pulsa" mediante javascript? He visto que otros lo hacen poniendo el .click() y dicen que se ejecuta el action, pero a mí no.
¿Hay alguna otra forma de cambiar el valor de una variable del flow mediante javascript?
Gracias adelantadas!

Última edición por jessifb88; 31/03/2010 a las 06:03