Foros del Web » Programando para Internet » Javascript »

que falla en esta funcion? no hay forma de que me vaya... (estoy desesperado ya)

Estas en el tema de que falla en esta funcion? no hay forma de que me vaya... (estoy desesperado ya) en el foro de Javascript en Foros del Web. Código HTML: function Contactar(frcontactar){ var nombre,telefono,comentario,email,ID; ID = frcontactar.IDempresa.value; nombre = frcontactar.nombre.value; telefono = frcontactar.telefono.value; comentario = frcontactar.comentario.value; email = frcontactar.email.value; document.frcontactar.boton.disabled=true; document.frcontactar.boton.value = "Contactando..."; ...
  #1 (permalink)  
Antiguo 25/10/2006, 20:07
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años, 1 mes
Puntos: 7
que falla en esta funcion? no hay forma de que me vaya... (estoy desesperado ya)

Código HTML:
function Contactar(frcontactar){
var nombre,telefono,comentario,email,ID;
	ID = frcontactar.IDempresa.value;
	nombre = frcontactar.nombre.value;
	telefono = frcontactar.telefono.value;
	comentario = frcontactar.comentario.value;
	email = frcontactar.email.value;
	document.frcontactar.boton.disabled=true;
	document.frcontactar.boton.value = "Contactando...";
	url = "contactar.php?ID=" + ID + "&nombre=" + nombre +"&telefono=" + telefono + "&email=" + email + "&comentario=" + comentario +"";
    yajax (url,'contactar','','get')
}
la llamada la hago desde formulario mediante el boton siguiente:
Código HTML:
 <input name='boton' type='submit' id="boton" value='Enviar'  onClick="return Contactar(this);" /> 
el fallo que me IDempresa.value; es nulo o no es un objeto.

No hay manera de que me vaya la llamada esa.. me da error una y otra vez...
  #2 (permalink)  
Antiguo 25/10/2006, 23:16
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 2 meses
Puntos: 62
;)

no lo hagas asi, hazlo asi:
Código HTML:
<form id="formu" action="" method="post" onsubmit="return Contactar(this)">
</form> 
asi la variable this sera el formulario y como tu lo haces es el boton, entonces nunca te hara bien.

luego pones el submit
Código HTML:
<form ....
<input type="submit" name="boton" value="Enviar" />
</form> 
fijo que asi te funciona, de todas formas deberias de ver si los campos estan vacios y enviar un alert y un return false, para que no accione el submit, para que solamente lo accione cuando has escrito algo en todos. Ahora me voy al trabajo pero tienes muchos ejemplos de validaciones en el foro. Si quieres puedes buscar post por mi nombre o leerte los FAQ's.

suerte
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 26/10/2006, 02:49
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años, 1 mes
Puntos: 7
joe muchas gracias me acabas de ayudar, respecto a la validación es el segundo paso que voy hacer pero al no salirme lo básico no pude raelizarlo. Porque con onsubmit si va y con onclik no? supuestamente debería funciaonar igual no?? o onsubmit lo que hace es enviar las variables del formulario y con onclik no las pillaba por eso??
  #4 (permalink)  
Antiguo 26/10/2006, 03:23
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 2 meses
Puntos: 62
;)

como te he dicho antes el elemento "this" hace referencia a ese objeto, en tu caso el boton, en mi caso hace referencia al form ya que el "this" se encuentra en la etiketa form.
en tu caso se podria hacer pero de otra forma, poniendo como parametro el ID de la form, y cogiendo el varlo con getElementByID, pero al final no da buen resultado, lo optimo es el onsubmit.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 26/10/2006, 04:27
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años, 1 mes
Puntos: 7
aja, entendido. Mucha gracias por la ayuda
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 14:56.