Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gctsukasa

como atribuir o mesmo id para varias imagens?

Recommended Posts

estou com problemas em um visualizador de imagens que estou montando em ajax....

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
var xmlhttp = null;

function Imagem() {
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}

	if  (!xmlhttp && typeof  XMLHttpRequest != 'undefined' ) {
		try  {
			xmlhttp = new  XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	document.getElementById("Img").innerHTML= "<div align='center'><img src='loading.gif' align='absmiddle'><span class='normal'></span><BR><BR></div>";

	if (xmlhttp) {
		xmlhttp.onreadystatechange = imagem;
		img = document.getElementById("img").src;
		xmlhttp.open("GET","imagens.php?img="+img);
		xmlhttp.setRequestHeader('Content-Type','text/xml');
		xmlhttp.setRequestHeader('encoding','ISO-8859-1');
		xmlhttp.send(null);
	}
}
function imagem() {

	if ( xmlhttp.readyState == 4) {
		if ( xmlhttp.status == 200) { // resposta do servidor OK
			document.getElementById("Img").innerHTML = xmlhttp.responseText;
		} else {
			alert( "Problema: " + xmlhttp.statusText );
		}
	}
}
-->
</script>
</head>
<body>
<table>
	<tr>
	 <td><img src="imagens/trilogy-1280x800.jpg" height="50" width="50" id="img" name="img" border="1" onclick="Imagem()"></td>
	 <td><div id="Img"></div></td>
	</tr>

</body>
Imagens.php

<img src="<? echo $_GET["img"]?>" height="400" width="400">
até aqui ele funciona porque tem uma só imagem

quando eu coloco a segunda imagem ou dá erro ou a segunda imagem domina a primeira fazendo com que a segunda tome o espaço das duas

 

tem como eu fazer com que as duas ou mais imagens nao entre em conflito???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não pode haver IDs repetidos numa mesma página mesmo.

Esse identificador DEVE ser único.

 

Procure usar uma array, ou tratar melhor a resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa sua tabela ta mal feita.

<body>
<table>
	<tr>
	 <td><img src="imagens/trilogy-1280x800.jpg" height="50" width="50" id="img" name="img" border="1" onclick="Imagem()"></td>
	 <td><div id="Img"></div></td>
	</tr>
-------------FALTA o TABLE final -.-
</body>

Bem defina a ID na tabela:

<body>
<table id="img">
	<tr>
	 <td><img src="imagens/trilogy-1280x800.jpg" height="50" width="50" name="img" border="1" onclick="Imagem()"></td>
	 <td><div id="Img"></div></td>
	</tr>
</table>
</body>

e faça isso no JS:

var imgss = document.getElementById("Img").getElementsByTagName("img");
for(var i=0;i<imgss.length;i++){
imgss[i].innerHTML = "VALOR RETORNADO";
}

Estude DOM(é JAVASCRIPT):

http://zvon.org/xxl/DOM2reference/Output/index.html

http://developer.mozilla.org/en/The_DOM_and_JavaScript

http://www.w3schools.com/js/tryit.asp?file...ument_getbyname

 

Já lhe entreguei o código de BANDEJA é só adaptar ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz com arrays mas esta dando problema com o onclick='Image()'

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">

var xmlhttp = null;

function Image(){
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}

	if  (!xmlhttp && typeof  XMLHttpRequest != 'undefined' ) {
		try  {
			xmlhttp = new  XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	document.getElementById("Img").innerHTML="<div align='center'><img src='loading.gif' align='absmiddle'><span class='normal'></span><BR><BR></div>";
  ;
	if (xmlhttp) {
		xmlhttp.onreadystatechange = imagem;
		img = document.getElementById("img").src;
		xmlhttp.open("GET","imagens.php?img="+img);
		xmlhttp.setRequestHeader('Content-Type','text/xml');
		xmlhttp.setRequestHeader('encoding','ISO-8859-1');
		xmlhttp.send(null);
	}
}
function imagem() {

	if ( xmlhttp.readyState == 4) {
		if ( xmlhttp.status == 200) { // resposta do servidor OK
			document.write(gif.join());
			document.getElementById("Img").innerHTML = xmlhttp.responseText;
		} else {
			alert("Problema:"+xmlhttp.statusText);
		}
	}
}
function pega_imagem() {
	document.write("<table align='left' border='2'>");
	document.write("<tr>")
	gifs = new Array(3);
for (var i = 0;i<3;i++)
{
	document.write("<td><img src='"+(gifs[i] =i)+".jpg' height='50' width='50' id='img' name='img' border='1' onclick='Image()'><br></td>");	
}
document.write("<td><div id='Img'></div></td></tr></table>");
}
</script>
</head>
<body onload="pega_imagem()">

</body>
vou testar o modo do silver

Compartilhar este post


Link para o post
Compartilhar em outros sites

document.write não pode ser usado em CHAMADAS, você não entendeu o que o William disse, ele quiz dizer para listar as imagens em uma array e tambem falou que não pode IDs repetidas. Você colocou ids repetidas do mesmo jeito, já que você está usando onclick acredito que não seja necessario IDS. Faça isso:

 

aplique um valor THIS entre os parentezes.

<tr>
	 <td><img src="imagens/trilogy-1280x800.jpg" height="50" width="50" id="img" name="img" border="1" onclick="Imagem(this)"></td>
	 <td><div id="Img"></div></td>
	</tr>

e faça isso no JS:

<script type="text/javascript">
<!--
var xmlhttp = null;
var elemento;
function Imagem(obj) {
elemento = obj;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}

	if  (!xmlhttp && typeof  XMLHttpRequest != 'undefined' ) {
		try  {
			xmlhttp = new  XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	elemento.innerHTML= "<div align='center'><img src='loading.gif' align='absmiddle'><span class='normal'></span><BR><BR></div>";

	if (xmlhttp) {
		xmlhttp.onreadystatechange = imagem;
		img = elemento.src;
		xmlhttp.open("GET","imagens.php?img="+img);
		xmlhttp.setRequestHeader('Content-Type','text/xml');
		xmlhttp.setRequestHeader('encoding','ISO-8859-1');
		xmlhttp.send(null);
	}
}
function imagem() {
elemento = obj;
	if ( xmlhttp.readyState == 4) {
		if ( xmlhttp.status == 200) { // resposta do servidor OK
			elemento.innerHTML = xmlhttp.responseText;
		} else {
			alert( "Problema: " + xmlhttp.statusText );
		}
	}
}
-->
</script>
Eu não entendi por que você fez duas funções e ainda com mesmo nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a primeira função é Image() e a segunda imagem e não sei que linha é essa e é 90% de chance que é esta linha cause o erro que esta dando no codigo...

img= elemento.src

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe desviar o assunto do post, mas aee

Silverfox, pq q seu avatar tem uma tag bunitona ? com o improjetos MS, o q isso significa ?

 

abss

Compartilhar este post


Link para o post
Compartilhar em outros sites

elemento captura o valor de THIS, por você ter criado duas funções tive que fazer uma variavel global, recomendo adaptar tudo em uma função . ;)

 

Ae depois ajeitamos esse problema que você citou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe desviar o assunto do post, mas aee

Silverfox, pq q seu avatar tem uma tag bunitona ? com o improjetos MS, o q isso significa ?

 

abss

improjetos WS e não MX, rererererere

 

siginifica que eu sou de um grupo de membros do forum de WS( http://forum.imasters.com.br/index.php?showforum=79 ) que desenvolve scripts em CONJUNTO para o forum ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce pode conferir melhor os grupos do forum em http://forum.imasters.com.br/index.php?showtopic=297370

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.