JQuery - No reconoce tabla html con inputs consultados con ajax

   
Vista:
Imágen de perfil de Emiliano

No reconoce tabla html con inputs consultados con ajax

Publicado por Emiliano (4 intervenciones) el 29/08/2015 22:36:12
Hola como estan, espero haber planteado bien la pregunta, les explico los detalle y el problema:

Tengo una pagina Producto.php, la misma tiene 2 tabs:

El primero para insertar y la siguiente para actualizar, se registra normalmente, pero el problema esta en que
en el segundo tab tengo una tabla incluida de php que al seleccionar presenta los datos:

echo "<td width='5.6%'><a style=\" text-decoration:none; cursor:pointer;text-align:center;\" onclick=\"pedirDatos('".$MostrarFila['idProducto']."')\">".$MostrarFila['idProducto']."</a></td>"

1
echo "<td width='5.6%'><a style=\" text-decoration:none; cursor:pointer;text-align:center;\" onclick=\"pedirDatos('".$MostrarFila['idProducto']."')\">".$MostrarFila['idProducto']."</a></td>"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function pedirDatos(idProducto){
	//donde se mostrará el formulario con los datos
	divFormulario = document.getElementById('formularioa');
 
	//instanciamos el objetoAjax
	ajax=objetoAjax();
	//uso del medotod GET
		cargar_consultaporid();
	ajax.open("POST", "consulta_por_id.php");
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			//mostrar resultados en esta capa
			divFormulario.innerHTML = ajax.responseText
			//mostrar el formulario
			divFormulario.style.display="block";
		}
	}
	//como hacemos uso del metodo GET
	//colocamos null
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	//enviando los valores
	//document.writeln(idCliente); 
	ajax.send("idProducto="+idProducto);
}


presenta la nueva informaciòn(consulta.php) dentro de un formulario pero el problema no reconoce nada al utilizar jquery, al tratar de cambiar las fechas los calendarios no aparecen,


1
2
3
4
5
6
$(function() {
$("#datepickera").datepicker({ maxDate: 0 });
});
$(function() {
$("#datepicker1a").datepicker({ minDate: 0 });
});

ni tampoco se puede realizar operaciones con los inputs

Investigue y mensionan que se debe a que no se crearòn los elementos al momento de cargar la pàgina, utilize el on,live, pero nada

Tendrían la amabilidad de aconsejarme o explicarme como puedo solucionar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas

No reconoce tabla html con inputs consultados con ajax

Publicado por Vainas (96 intervenciones) el 30/08/2015 20:18:23
Buenas:

El evento live esta desactualizado en nuevas versiones de jQuery asi que tendras que usar on de la siguiente manera.

Lo que tienes que intentar es algo asi (te dejo un ejemplo):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="js/jquery-1.11.2.min.js"></script>
</head>
<body>
<div id="insertar"><input type="text" class="demo" name="numero1" /></div>
<button type="button" id="boton_insertar" >Inserta input</button>
<script>
$(document).ready(function() {
	var input_string = '<input type="text" class="demo" name="numero1" /><br>';
	var agregar = function(){
		document.getElementById("insertar").innerHTML += input_string;
	}
	$("#boton_insertar").click(function(event){
		event.preventDefault();
		agregar();
	});
	$("#insertar").on("focus",".demo",function(){
		alert("hola desde "+this);
	});
});
</script>
</body>
</html>

Para no tener que manejar ajax lo que he hecho es crear una variable "input_string" que sera el valor que se supone que viene por ajax.

Lo que hago es que una capa fija en el html (en este caso la he llamado id="insertar") le asigno el evento focus (se lo asigno a la capa insertar si) y le digo que el evento solo tome en realidad el foco de las capas internas a esta que se llamen "demo". fijate que todo input nuevo que agrego a la capa insertar tiene la class="demo" para que el evento funcione.

Aparte de tu consulta. Veo que tienes un poco de lio con las llamadas ajax. tendrias que revisar como hacer una llamada ajax con jQuery sin tener que usar la sintaxis en crudo de javascript

Puedes usar algo como:

1
2
3
4
5
6
7
8
9
10
11
$divFormulario = $("#fomularioa");
$.ajax({
	type: 'post',
	url: "consulta_por_id.php",
	data: {"idProducto":idProducto},
//Esto siguiente es tu onreadystatechange
	success: function(data){
		$divFormulario.append(data);
		$divFormulario.css({"display": "block"});
	}
});

a divFormulario tendras que asignarle el evento focus asi (esto antes del ajax):

$divFormulario.on('focus', '###', function(){...});

y el ### sera el id o la clase de tu input donde vas a meter los datos de fecha.

Espero que se entienda.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emiliano

No reconoce tabla html con inputs consultados con ajax

Publicado por Emiliano (4 intervenciones) el 02/09/2015 18:53:05
Gracias por contestar lo probare para ver su resultado, nuevamente gracias....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emiliano

No reconoce tabla html con inputs consultados con ajax

Publicado por Emiliano (4 intervenciones) el 03/09/2015 17:34:22
Hola, ya resolvi la parte del envio de la informaciòn con su ayuda...Pero la parte de los Datepicker no logro solucionar al hacer click en la caja de texto no aparecen:

1
2
3
4
5
6
$(function() {
$("#datepickera").datepicker({ maxDate: 0 });
});
$(function() {
$("#datepicker1a").datepicker({ minDate: 0 });
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

No reconoce tabla html con inputs consultados con ajax

Publicado por Vainas (96 intervenciones) el 03/09/2015 17:48:49
Ya lo he comentado en el otro foro.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar