Foros del Web » Programación para mayores de 30 ;) » Java »

jsf ejecutar action de commandButton mediante Js

Estas en el tema de jsf ejecutar action de commandButton mediante Js en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/03/2010, 02:57
 
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

Etiquetas: commandbutton, ejecutar, js, jsf, acciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:51.