Foros del Web » Programando para Internet » Javascript »

Problema con elementos devueltos

Estas en el tema de Problema con elementos devueltos en el foro de Javascript en Foros del Web. Hola a todos. Vereis, tengo un problema un poco extraño ya que llevo meses trabajando con AJAX y jamas me habia pasado hasta hoy algo ...
  #1 (permalink)  
Antiguo 07/12/2011, 07:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 74
Antigüedad: 13 años
Puntos: 2
Pregunta Problema con elementos devueltos

Hola a todos.

Vereis, tengo un problema un poco extraño ya que llevo meses trabajando con AJAX y jamas me habia pasado hasta hoy algo semejante.

La cosa es que tengo una web donde al pulsar un enlace en vez de refrescar la pagina, AJAX mediante Jquery hace un llamamiento a un documento php que me retorna un formulario completo, hasta ahi todo bien, en la capa que quiero se muestra el formulario con sus campos etc, el problema viene cuando esos campos (Que todos tienen su id propio) quiero trabajar con ellos desde javascript tanto para validarlos como para enviar los datos de este formulario asincronamente.

Lo que me resulta curioso es que el boton send es devuelto tambien por AJAX desde el PHP y a este si que me deja asociarle la funcion de enviar los datos, pero el resto de campos dentro del evento de pulsar este boton me aparecen como undefined lo ponga como document.getelementbyid como si lo pongo como $("#campo")...

Me gustaria saber como podria solucionar esto.
Muchas gracias y un saludo!
  #2 (permalink)  
Antiguo 07/12/2011, 07:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema con elementos devueltos

document.getElementById

recuerda que los métodos de JS son camelCase, además sin código o sin links es imposibel ayudarte.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 07/12/2011, 07:23
 
Fecha de Ingreso: mayo-2011
Mensajes: 74
Antigüedad: 13 años
Puntos: 2
Respuesta: Problema con elementos devueltos

Gracias por contestar tan pronto, lo de las mayusculas y minusculas fue al escribir aqui pero estaba correctamente en el codigo. La parte de codigo seria la siguiente:

Al pulsar enviar:
Código:
$.ajax(
							{
							type: "POST",
 		  					url: "scripts/php/publishcomment.php",
   							data: "nombre="+$("#namecomment").attr("value")+"&mail="+$("#mailcomment").attr("value")+"&web="+$("#webcomment").attr("value")+"&texto="+$("#textcomment").attr("value")+"&title="+msg.title,
   							success: function(msg)
   							{
   								
   								//Una vez guardados los datos quitamos la animacion y mostramos de nuevo todos los comentarios:
   								$("#showcomments").html(msg);
   							},
   							error: function(jqXHR,textStatus,errorThrown)
   							{
   								alert("Ha ocurrido un error de conexion con el servidor, por favor intentelo de nuevo.");
   							}
							}
						);

Y ahi el problema esta en el data: que los campos les muestra como indefinidos, he mirado uno a uno con alerts tanto a propiedades como a los propios objetos y nada, en el codigo fuente de la pagina tampoco aparecen ya que estos campos han sido recibidos sin refrescar la pagina, pero si que en la pagina estan y se puede editar el texto que contienen. Cuando fueron recibidos, el php los enviaba de la siguiente forma:

Código:
$jsondata['texto'].="name <input type='text' id='namecomment' /><br/>";
						$jsondata['texto'].="mail <input type='text' id='mailcomment' /><br/>";
						$jsondata['texto'].="web <input type='text' id='webcomment' /><br/>";
						$jsondata['texto'].="<textarea id='textcomment' >Comment</textarea><br/>";
						$jsondata['texto'].="<input type='button' value='Send' id='sendcomment' />";
Donde como digo al poner despues de recibirles el evento Click a #sendcomment funciona perfectamente, es el resto de campos los que no me detecta su atributo valor.

Un saludo!
  #4 (permalink)  
Antiguo 07/12/2011, 07:37
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema con elementos devueltos

recomiendo que use atributos name y jQuery.Serialize()
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 07/12/2011, 10:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 74
Antigüedad: 13 años
Puntos: 2
Respuesta: Problema con elementos devueltos

Muchisimas gracias por tu consejo, con Serialize funciona perfectamente :D

Un abrazo!

Etiquetas: ajax
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 15:01.