Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ayudita con un codigo

Estas en el tema de Ayudita con un codigo en el foro de Frameworks JS en Foros del Web. Hola!, miren, intento hacer una script que al precionar un boton, se sume 1 a una cuenta que va de 1 a 10 (Es para ...
  #1 (permalink)  
Antiguo 19/01/2010, 09:24
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Ayudita con un codigo

Hola!, miren, intento hacer una script que al precionar un boton, se sume 1 a una cuenta que va de 1 a 10 (Es para una votacion). Ya lo hice, pero ahora me gustaria agregar una imagen al resultado.

Mi codigo es:
El div donde muestro los Resultados:
Código:
<input type="button" onclick="proceso()" value="+"/>
    <div id="divMessage" class="numerito"><img src="http://www.ata-mendoza.cl/ani/design/menu_contenido/vote_user/10.jpg" />1</div>
El archivo .JS
Código:
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();

if (http.readyState == 4 || http.readyState == 0)
{
	function proceso() 
	{
  		var id = encodeURIComponent(document.getElementById("divMessage").lastChild.nodeValue);
  		var myurl = 'sumaVoto.php';
  		myRand = parseInt(Math.random()*999999999999999);
  		var modurl = myurl+"?id="+id+"&rand="+myRand;
  		http.open("GET", modurl, true);
  		http.onreadystatechange = useHttpResponse;
  		http.send(null);
	}
}

function useHttpResponse() {
   if (http.readyState == 4) {
    if(http.status == 200) {
      // extraemos el XML recuperado del servidor
      xmlResponse = http.responseXML;
      // obtenemos el "document element" (el elemento raíz) de la estructura XML
      xmlDocumentElement = xmlResponse.documentElement;
      // obtenemso el mensaje de texto, que está en el primer hijo de
	  // el "document element"
      helloMessage = xmlDocumentElement.lastChild.data;
      // actualizamos la pantalla del usuario usando los datos recibidos del servidor
      document.getElementById("divMessage").innerHTML = helloMessage;
    }
   }
}
El codigo .php
Código:
<?php
// generará la salida XML
header('Content-Type: text/xml'); 
// genera el header XML
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// crea el elemento <response>
echo '<response>';

$voto = $_GET['id'];

if($voto > 0 && $voto < 10)
{
	$voto++;
}
echo '<img src="http://www.ata-mendoza.cl/ani/design/menu_contenido/vote_user/10.jpg" />'.$voto;

echo '</response>';
?>
El resultado lo pueden ver aqui:
http://www.ata-mendoza.cl/iniciar/

Como pueden ver, la cuenta al estar en 1, muestra la imagen, pero al precionar el boton mas, ya no sale.

Alguna ayudita por favor.

Última edición por Myless; 19/01/2010 a las 14:53
  #2 (permalink)  
Antiguo 19/01/2010, 09:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayudita con un codigo

Podrías envolverlo en un bloque CDATA:
Código PHP:
Ver original
  1. echo "<![CDATA[<img src=\"http://www.ata-mendoza.cl/ani/design/menu_contenido/vote_user/10.jpg\" />$voto]]>";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/01/2010, 11:45
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Ayudita con un codigo

GRACIAS!, si funciono :D
  #4 (permalink)  
Antiguo 19/01/2010, 14:53
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Ayudita con un codigo

Una ultima ayudita :3

Si el codigo de el archivo .html fuera:

Código:
  <div id="divMessage" class="numerito"><center>
  <table border="0" width="240" height="27" cellspacing="0" cellpadding="0">
    <tr>
      <td width="240" background="algo.jpg"><img src="algo.jpg" /></td>
      <td width="240">1</td>
      <td width="240"><img src="algo.jpg" /></td>
    </tr>
  </table>
  </center></div>
¿Como recupero el 1? Es decir el de esta linea:

<td width="240">1</td>

ES que tengo problemitas con los nodos :3

De antemano muchas gracias.
  #5 (permalink)  
Antiguo 19/01/2010, 15:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayudita con un codigo

¿Y no es más fácil devolver el 1 en un nodo aparte? De todos modos, puedes usar getElementsByTagName para buscar todos los <td> y elegir el índice al que quieres acceder.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 19/01/2010, 18:43
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Ayudita con un codigo

Esque trato y trato y no logro encontrar el 1 =P

Lo hago asi:

document.getElementsByTagName("td").childNodes[1].nodeValue

¿Esta bien?
  #7 (permalink)  
Antiguo 19/01/2010, 18:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayudita con un codigo

No entiendo por qué usas document cuando el elemento que buscas está en la respuesta del servidor y no en el documento.

Además, getElementsByTagName devuelve una lista de elementos. Véase: https://developer.mozilla.org/es/DOM...mentsByTagName
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 19/01/2010, 20:16
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Ayudita con un codigo

De este codigo:
<div id="divMessage" class="numerito"><center>
<table border="0" width="240" height="27" cellspacing="0" cellpadding="0">
<tr>
<td width="240" background="algo.jpg"><img src="algo.jpg" /></td>
<td width="240">1</td>
<td width="240"><img src="algo.jpg" /></td>
</tr>
</table>
</center></div>

Quiero recuperar esta linea:
<td width="240">1</td>

Es decir el 1:

¿Eso es respuesta del servidor?
  #9 (permalink)  
Antiguo 19/01/2010, 20:59
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Ayudita con un codigo

Gracias amigo, ya lo arregle

Muchas muchas gracias otra vez.

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 08:04.