Comunidad de diseño web y desarrollo en internet online

problemas con el DOM HTML

Citar            
MensajeEscrito el 09 Abr 2008 06:12 pm
Que tal amigos, vuelvo por estos lares con una duda algo curiosa. Ando implementando AJAX a una aplicacion. Se trata de una combinación de AJAX php y MySQL donde las opciones de un combobox son creadas dinámicamente con php, (los datos ID Nombre de estas opciones están en una tabla de MySQL).

En el momento que el usuario elige una de las opciones, en una celda de la tabla del HTML quiero poner una imagen relacionada al producto que se eligió (esto a traves de AJAX junto con el modulo prototype.js que te simplifica algo la tarea de lidiar con el DOM HTML de javascript).

Ya inicie el objeto XMLhttprequest, almaceno el valor de la opción seleccionada (ID de la base de datos puesta como value en cada option creado), envio los datos con get, el script en php lo recibe, hace consulta y se almacena la ubicacion de la imagen. Hasta aquí todo bien el problema es cuando quiero crear dinámicamente un img en el cual a su atributo src le quiero poner como valor el resultado despedido por AJAX y crear un texto que despida el precio del producto en otra celda. Tengo aquí el codigo (disculpen algo el desorden pero con los colores y los comentarios creo que ayudara a reconocer los bloques)


<?php
require_once('libreria.php');//conecta y selecciona la base de datos
$proLID="";
$proLNombre="";

$query1 = consultaLiquidos();
$query2 = consultaSolidos();
$valrows = mysql_num_rows($query1);//se almacenan los datos de la consulta

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>

<script src="prototype.js" Language="JavaScript" type="text/javascript"></script>//uso prototype.js
<script language="JavaScript" type="text/javascript">

//AJAX
function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err3) {
req = false;
}
}
}
return req;
}

var http = getXMLHTTPRequest();

function catalogo() {
var valID = Form.Element.getValue('pliquidos');//saco el dato seleccionado en el combobox, esta funcion es hecha en el modulo prototype.js
myRand = parseInt(Math.random()*999999999999999);//func random
var modurl ="dbimagenesXML.php?valID=" + valID;
http.open("GET", modurl+ "&rand=" + myRand, true);
http.onreadystatechange = useHttpResponse;
http.send(null);
}

function useHttpResponse() {
if (http.readyState == 4) {
if(http.status == 200) {
//Aqui mi problema :crap:
var timeValue = http.responseXML.getElementsByTagName("prodIMG")[0]; //prodIMG la etiqueta que recibe la direccion donde se ubica la imagen
if (typeof imagen == "undefined") {
var imagen = document.createElement("img");
imagen.createAttribute("src");
imagen.src = timeValue.childNodes[0].nodeValue);
}else{
imagen.src = timeValue.childNodes[0].nodeValue);[0].nodeValue);
}
document.getElementById('mostrar').appendChild(imagen);
} else {
document.getElementById('mostrar').innerHTML = 'imagen no disponible';
}
}
}
</script>
</head>

<body>

<form id="form1" name="form1" method="post" action="pedido2.php">
<p>Por Favor, S&iacute;rvase el cafe de su elecci&oacute;n:</p>
<p>&nbsp;</p>

<table width="200" border="1">
<tr>
<td rowspan="2">
<select name="seleccion1" id="pliquidos" onchange="catalogo()">
//se crean las opciones dinamicamente
<?php
if ($valrows>0){
while ($rliquidos = mysql_fetch_assoc($query1)) {
$proLID = $rliquidos["ID"];
$proLNombre = $rliquidos["Nombre"];
?>
<option value="<?=$proLID?>"><?=$proLNombre?></option>

<?php }} ?>
</select> </td>
<td colspan="2">
<div id="mostrar"></div></td>
</tr>
<tr>
<td>&
nbsp;</td>
<td
>&nbsp;</td>
</tr>

</table>

</form>

</body>
</html>



y esta es la que recibe los datos

<?php
header('Content-Type: text/xml');
require_once('conexionBD.php');
$IDconsulta = $_GET['valID'];
$cn = conexionBD_cafedb();
$rs = mysql_query("SELECT muestra FROM liquidos WHERE ID='$IDconsulta'", $cn);
$link=mysql_fetch_assoc($rs);

echo "<?xml version=\"1.0\"?><prodIMG>".$link['muestra']." /></prodIMG>";
?>

He estado leyendo cuchucientasmil páginas (incluída la de librosweb que a mi parecer es hasta ahora la más completa en documentacion DOM (no he encontrado mejor hasta ahora). Algo estoy enterado que Internet Explorer no lograr cubrir el DOM como lo hace Mozilla y otros navegadores (espero que este no sea el caso).
Espero que no haya sido tan confuso a ver si me pudieran dar una mano gracias.

Por Mr. X-ecutor

96 de clabLevel

1 tutorial

Genero:Masculino  

12/02/2007

msie
Citar            
MensajeEscrito el 12 May 2010 03:53 pm
Que tal. saludos. a todos.. llevo tiempo buscando exactament lo que aqui se publica nose.. si alguien o el que lo publico me podria ayudar si lo termino..!!!


vale...


por favor..... al verdad si lo necesito mucho...!!!!

para cualquiera que me quiera agregar o ayudar.....me agrega vale..!!

[email protected]...!!!!!!

Por skifree

1 de clabLevel



 

oaxaca

msie8
Citar            
MensajeEscrito el 12 May 2010 03:57 pm
q :lol: tal.. me preguntaba si me podrias ayudar .. en lo mismo que estas publicando...

o si y alo terminaste... pasarme un ejemplo o nose. algo..!!! pleace..!!!!!
sobre la creacion de un formulario dinamico a base de una base de datos existente....

que seleccionando.. una determinada base de datos. y tabla cree su formulario....


por favor..!!!! si lo necesito.. por primera vez.. encuantro la publicacion de algo semehante..!!!!

espero tu respuesta....!!!

saludos...

see you.!!!!! :D

Por skifree

1 de clabLevel



 

oaxaca

msie8
Citar            
MensajeEscrito el 19 May 2010 05:36 pm
require_once('libreria.php');//conecta y selecciona la base de datos


aqui donde utilizas la libreria.php para conectar y seleccionar la base de datos...

estoy realizando lo mismo sobre generar un formulario desde una base de datos existent en mysql, nada mas quisiera saber si me podrias ayudar en obtener la base datos y como interactuar con ella...
vlae..
espero me puedas ayudar .. la necesito... demasiado.....
espero tu respuesta... por favor.....
ahora si t lo ruego....
vale...
:lol:

Por skifree

1 de clabLevel



 

oaxaca

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.