Foros del Web » Programando para Internet » Javascript »

Script que no funciona en Firefox, pero si en ie

Estas en el tema de Script que no funciona en Firefox, pero si en ie en el foro de Javascript en Foros del Web. Hola a todos, tengo este java Script, cuya logica es como sigue: <script LANGUAGE="javascript"> function validarEstado(accion) { var txtComentario = document.getElementById('myform:txtComentario'); var hdEstadoPago = document.getElementById('hdEstadoPago'); ...
  #1 (permalink)  
Antiguo 18/02/2010, 08:10
 
Fecha de Ingreso: noviembre-2004
Ubicación: Lima-Peru
Mensajes: 81
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta Script que no funciona en Firefox, pero si en ie

Hola a todos, tengo este java Script, cuya logica es como sigue:
<script LANGUAGE="javascript">
function validarEstado(accion) {
var txtComentario = document.getElementById('myform:txtComentario');
var hdEstadoPago = document.getElementById('hdEstadoPago');
var hdTipoTransaccion = document.getElementById('myform:hdTipoTransaccion' );

if (hdEstadoPago.value != "P"){
alert(reemplazarCaracteres('Mensaje Error 1'));
return false;
}

if (txtComentario.value == ""){
alert(reemplazarCaracteres('Mensaje de Error 2'));
txtComentario.focus();
return false;
}
hdTipoTransaccion.value = accion;
return true;
}
</script>

Este script lo que hace es mandar un valor en otra parte de la misma pagina, el codigo es el siguiente:

<body onload="mostrarFechaHora();">
<h:form id="myForm">
<input type="hidden" name="hdEstadoPago" value='<h:outputText value="#{sessionScope.mbeanSaldoRecepcionCompraSal do.selectCodigoEstado}"/>'>
<h:inputHidden value="#{mbeanSaldoRecepcionCompraSaldo.hdTipoTran saccion}" id="hdTipoTransaccion"> </h:inputHidden>
<h:commandButton actionListener="#{mbeanSaldoRecepcionCompraSaldo.m odificarRecepcionCompraSaldo}" id="idAprobar" onclick="return validarEstado('A');" style="display:none"/>
<h:commandButton actionListener="#{mbeanSaldoRecepcionCompraSaldo.m odificarRecepcionCompraSaldo}" id="idRechazar" onclick="return validarEstado('R');" style="display:none"/>
<table border="0" cellpadding="0" cellspacing="0" width="743" align="center">

<!-- Aca hay botones, cajas de texto, etc -->

</h:form>
</body>

Y lo que deberia hacer en Firefox es llenar el hdTipoTransaccion, el cual es un h:inputHidden.
En cambio en ie 6.0, no tengo problemas, este campo es llenado correctamente. Alguien me puede ayudar indicando cual es el error en Java Script. Esta codigo pertenece a una pagina *.jsp de JSF.

Gracias de antemano.
__________________

Willians Kic2.
:aplauso:

Última edición por williamccr; 18/02/2010 a las 08:13 Razón: Falto agregar comentarios acerca del codigo.
  #2 (permalink)  
Antiguo 18/02/2010, 08:22
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: Script que no funciona en Firefox, pero si en ie

<h:commandButton ???, trabajas con JSF ???, javaserver face???, jsp???
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #3 (permalink)  
Antiguo 18/02/2010, 08:29
 
Fecha de Ingreso: noviembre-2004
Ubicación: Lima-Peru
Mensajes: 81
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Script que no funciona en Firefox, pero si en ie

Hola Hector2c, si es JavaServer Faces.
__________________

Willians Kic2.
:aplauso:
  #4 (permalink)  
Antiguo 18/02/2010, 10:00
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: Script que no funciona en Firefox, pero si en ie

podrias mostrar que html te genera ese código jsp ???
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #5 (permalink)  
Antiguo 18/02/2010, 10:22
 
Fecha de Ingreso: noviembre-2004
Ubicación: Lima-Peru
Mensajes: 81
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Script que no funciona en Firefox, pero si en ie

Hector2c, estuve haciendo pruebas he notado que esta relacionado con id="myForm", lo he corregido pero ahora ya no funciona ni en ie6 ni en Firefox, antes de hacer esta correccion mantieniendo el codigo que señalo en un inicio tengo lo sgte:

<body onload="mostrarFechaHora();">
<script>var _AdfWindowOpenError='Se ha detectado un bloqueo de ventana emergente en el explorador. Estos bloqueos interfieren con el funcionamiento de esta aplicación. Desactívelo o permita elementos emergentes desde esta dirección.';</script><script src="/novaCorePagosWeb/adf/jsLibs/Commonea20.js"></script><!-- Start: javax.faces.Form["myForm"] --><form id="myForm" name="myForm" style="margin:0px" onkeypress="return _submitOnEnter(event,'myForm');" method="POST" action="/novaCorePagosWeb/pages/saldo/modificarSaldoRecepcionCompraSaldo.faces">
<!-------->
<input type="hidden" name="hdEstadoPago" value='P'>
<!-- Start: javax.faces.Input["hdTipoTransaccion"] -->
<input id="myForm:hdTipoTransaccion" type="hidden" name="myForm:hdTipoTransaccion" value="">

<!-- Start: javax.faces.Command["idAprobar"] -->
<input id="myForm:idAprobar" type="submit" name="myForm:idAprobar" value="" onclick="return validarEstado('A');" style="display:none">


<!-- Start: javax.faces.Command["idRechazar"] -->
<input id="myForm:idRechazar" type="submit" name="myForm:idRechazar" value="" onclick="return validarEstado('R');" style="display:none">
<table border="0" cellpadding="0" cellspacing="0" width="743" align="center">



<tr id="cabecera2">
<td width="222" style="padding-left: 15px;">
<img src='
http://192.168.20.50:8080/novaRecurs...logoBlanco.jpg' border="0" width="162" height="55" alt="" align="absmiddle">
</td>

....... y sigue el codigo .....

Gracias por tu ayuda, espero tu respuesta.

Salu2!!
__________________

Willians Kic2.
:aplauso:
  #6 (permalink)  
Antiguo 18/02/2010, 10:33
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: Script que no funciona en Firefox, pero si en ie

mmmmm, al parecer jsf te esta generando los campos con nombres en este formato formulario:campo... tal vez ese sea el problema...

intenta ejecutar tu código sin que jsf lo genere, haslo con html puro y mira si corre el javascript... igual en el javascrip evita usar este formato: myform:txtComentario
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #7 (permalink)  
Antiguo 18/02/2010, 10:36
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Pregunta Respuesta: Script que no funciona en Firefox, pero si en ie

mmmmmmm, al parecer ie6 y ff, funcionan bien con ese formato

Código PHP:
<form id="form">
    <
input type="text" id="form:texto">
    <
input type="text" id="form:texto2">
</
form>
<
script LANGUAGE="javascript">
    
document.getElementById('form:texto').value "conejo";
</script> 
entonces el problema es tu javascript... ahora lo veo...
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #8 (permalink)  
Antiguo 18/02/2010, 10:48
 
Fecha de Ingreso: noviembre-2004
Ubicación: Lima-Peru
Mensajes: 81
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Script que no funciona en Firefox, pero si en ie

Por fa indicamente que esta mal en el java script.

Salu2!!
__________________

Willians Kic2.
:aplauso:
  #9 (permalink)  
Antiguo 19/02/2010, 11:29
 
Fecha de Ingreso: noviembre-2004
Ubicación: Lima-Peru
Mensajes: 81
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Script que no funciona en Firefox, pero si en ie

El problema estaba en el javascript, quedo de la siguiente manera:
<script LANGUAGE="javascript">
function validarEstado(accion) {
var txtComentario=document.getElementById('myForm:txtC omentario').value;
//alert(''+txtComentario);
var hdEstadoPago=document.getElementById('myForm:hdEst adoPago');
//alert('Estado '+hdEstadoPago+'.')
var hdTipoTransaccion=document.getElementById('myForm: hdTipoTransaccion');

if (hdEstadoPago.value != "P"){
alert('Error 1');
return false;
}

if (txtComentario == ""){
alert('Error 2');
txtComentario.focus();
return false;
}
hdTipoTransaccion.value = accion;
return true;
}

function doAprobar() {
document.getElementById('myForm:idAprobar').click( );
}

function doRechazar() {
document.getElementById('myForm:idRechazar').click ();
}
</script>

Ademas cambie la propiedad input por la sgte:
<h:inputHidden value="#{sessionScope.mbeanSaldo.selectCodigoEstad o}" id="hdEstadoPago"> </h:inputHidden>

Salu1+1
__________________

Willians Kic2.
:aplauso:

Etiquetas: firefox
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:22.