Foros del Web » Programando para Internet » Javascript »

¿porque no me funciona en Firefox?

Estas en el tema de ¿porque no me funciona en Firefox? en el foro de Javascript en Foros del Web. Hola a todos, Tengo un formulario que simula varios formularios, me explico, tengo un formulario que sigue el siguiente esquema: Código: <div id=1> <input id=1-1> ...
  #1 (permalink)  
Antiguo 01/08/2008, 08:00
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
¿porque no me funciona en Firefox?

Hola a todos,

Tengo un formulario que simula varios formularios, me explico, tengo un formulario que sigue el siguiente esquema:

Código:
<div id=1>
   <input id=1-1>
   <input id=1-2>
   <boton validacion id=Save1>
</div id=1>
<div id=2>
   <input id=2-1>
   <input id=2-2>
   <boton validacion id=Save2>
</div id=2>
<boton validacion TODO y submit id=TODO>
Lo que yo hago es que desde un enlace muestro la capa id=1 y oculto la capa id=2, el botón id=Save1 no hace el submit, sino que me valida los campos input id=1-X con una función y si NO son válidos me lanza un alert(), y si son válidos oculta las dos capas. Lo mismo para la capa id=2. Al final hay un botón que verifica TODO el formulario y recién ahí hace el Submit.

Comienzo explicándoles esto, para que entiendan lo que hace y para preguntarles… PORQUE NO FUNCIONA EN FIREFOX…!!!!

El botón que "graba" el sub formulario (botón id=SaveX) es el siguiente:
Código HTML:
<input name="SaveGuest1" type="button" value="Save Form" class="SaveFormBtn" onClick="validaFormGuest(this.form,'1')" /> 
La función “validaFormGuest” es la siguiente:
Código HTML:
function validaFormGuest(form,num_guest){
	var msg_error = "The following fields are required:\n\r\n\r";
	var error = 0;
	var campo = "";
	
	// CAMPO ConfirmNameGuest ++++++++++++++++
	campo = 'ConfirmNameGuest'+num_guest;
	if (document.getElementById(campo).value == ''){
		msg_error += '- confirm given name.\n\r';
		error = 1;
	}
	
	
	// CAMPO ConfirmSurnameGuest ++++++++++++++++
	campo = 'ConfirmSurnameGuest'+num_guest;
	if (document.getElementById(campo).value == ''){
		msg_error += '- confirm family name.\n\r';
		error = 1;
	}
	
	
	if( (error == 1) ) {
		alert(msg_error);
		document.getElementById('validFormGuest'+num_guest).src = "img/ico-ko-trans.png";
	}
    
}
	
*Le he quitado codigo que se repite para no llenar el post, pero si alguien desea la funcion completa, me avisa.


Alguien me podría ayudar???

Gracias

Saludos
  #2 (permalink)  
Antiguo 01/08/2008, 08:32
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: ¿porque no me funciona en Firefox?

Mmmm... por q no ponés todo el formulario y la funcion completa para ver....

Saludos...
  #3 (permalink)  
Antiguo 01/08/2008, 09:37
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: ¿porque no me funciona en Firefox?

lo he quitado todo, porque no me deja poner mas de 1000 caracteres y el form tiene como 3000, jajaja

Última edición por chiquirf; 01/08/2008 a las 09:44 Razón: no entra :(
  #4 (permalink)  
Antiguo 01/08/2008, 09:43
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: ¿porque no me funciona en Firefox?

NO ENTRA, jajajaja

mejor los pongo en ficheros para que lo descargues:

EL FORM: form.html

EL JS: validaform.js

si se dan cuenta la funcion la he hecho para poder reutilizarla con otros "subforms" ya que necesito 4 en total, solo cambio el último número de cada name e id de los campos. (no le he probado pero cruzo los dedos que funcione, jejeje).

Saludos y gracias

Carlos
  #5 (permalink)  
Antiguo 01/08/2008, 10:36
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: ¿porque no me funciona en Firefox?

Creo que es esto:

En tu formulario esta este input asi:

Código HTML:
<td><input name="ProfessionGuest1" type="text" class="comboGuest TamC" id="NameGuest7" /></td> 
y en tu función estas haciendo referencia a el con getElementById, creo que debería estar así:

Código HTML:
<td><input name="ProfessionGuest1" type="text" class="comboGuest TamC" id="ProfessionGuest1" /></td> 
prueba y me cuentas...

Saludos...
  #6 (permalink)  
Antiguo 01/08/2008, 11:52
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: ¿porque no me funciona en Firefox?

Muchas gracias Un_Tico, eso era....

pero porque no te da un error como en IE con el cual puedes detectar estas cosas????

Bueno, gracias de nuevo.

que haría yo (y todos) sin este foro...!!!

Saludos

Carlos
  #7 (permalink)  
Antiguo 01/08/2008, 16:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Respuesta: ¿porque no me funciona en Firefox?

CHICOS NECESITO AYUDAA!!
ESTE CODIGO NO FUNCIONA EN FIRE FOXX PLEASE!
if(document.frmDatos.cbxOrigen.selectedIndex!=-1){
(document.frmDatos.txtorigen).value =cbxOrigen.options(cbxOrigen.selectedIndex).text;
(document.frmDatos.txtcodorigen).value=cbxOrigen.o ptions(cbxOrigen.selectedIndex).value;
}

AYUDENME PLEASEE
  #8 (permalink)  
Antiguo 01/08/2008, 16:32
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: ¿porque no me funciona en Firefox?

Mmmm...

Es del mismo formulario?
  #9 (permalink)  
Antiguo 03/08/2008, 07:29
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: ¿porque no me funciona en Firefox?

Hola, a ver si luego de tanto preguntar en foros he logrado aprender algo:

en mi oinión, creo que lo que falla son los paréntesis que tienes y tienens un espacio en blanco en el último option:

Código HTML:
(document.frmDatos.txtorigen).value =cbxOrigen.options(cbxOrigen.selectedIndex).text;
(document.frmDatos.txtcodorigen).value=cbxOrigen.o ptions(cbxOrigen.selectedIndex).value;
y yo creo que debe ser así:

Código HTML:
document.frmDatos.txtorigen.value =cbxOrigen.optionscbxOrigen.selectedIndex.text;
document.frmDatos.txtcodorigen.value=cbxOrigen.options(cbxOrigen.selectedIndex).value;

En mi caso el codigo JS estaba bien, lo que me fallaba era que el name y el id de un maldito campo eran distintos y con eso me funcionó, es lo que tiene el Copy & Paste, jajaja

Suerte
  #10 (permalink)  
Antiguo 03/08/2008, 07:37
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿porque no me funciona en Firefox?

Cita:
Iniciado por krysthel20 Ver Mensaje
cbxOrigen.options(cbxOrigen.selectedIndex).text;
cbxOrigen.options(cbxOrigen.selectedIndex).value;
options es un array, de modo que será ...options[cbxOrigen.selectedIndex].text



Y por favor, no grites. Gracias :)
  #11 (permalink)  
Antiguo 03/08/2008, 08:07
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: ¿porque no me funciona en Firefox?

jajaja, ta que estoy en nada...
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 19:15.