Ir para conteúdo

POWERED BY:

Arquivado

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

BelTavares

document.getElementById.src não funciona

Recommended Posts

Boa tarde a todos.

 

Preciso de uma ajuda... tenho uma função em Javascript que deveria fazer a pré-visualização de uma imagem antes do seu cadastro efetivo. Ou seja, a partir de um campo de form, escolho a imagem no meu micro, e após clicar num link "Visualizar imagem", a mesma deveria aparecer num local predeterminado na página. E se estiver OK, o usuário pode cadastrar. Estou enviando o código abaixo:

 

function preview()
{
	strSrc = document.formcad.foto.value;
	
	if(strSrc == "")
	{
		alert("Selecione uma imagem !");
	}
	else
	{	
		document.getElementById("myfoto").src = strSrc;
	}
}
-->
</script>

Esse é o campo do form que dá o Browse na máquina:

 

<input name="foto" type="file" class="fonte" id="foto">

Esse é o link para a foto ser visualizada:

 

<a href="javascript:preview();">clique aqui para vizualizar a foto.</a>

Esse é o local onde a imagem deverá ser visualizada:

 

<img src="../arquivos/semfoto.gif" name="myfoto" width="285" height="201" border="1" id="myfoto">

O que acontece é que clicando no link nada acontece, não dá erro, nem mostra a foto.

PS: Testei no IE 8 e no Chrome.

 

Já quebrei a cabeça mas não consigo achar o erro. Vocês poderiam me ajudar, por favor?

 

Fico no aguardo, o mais urgentemente possível.

 

Muito obrigada

 

BelTavares

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi BelTavares, falta uma instrução na sua função em javascript.

Vou escrevê-la como deve ser:

 

function preview() {
	var strSrc = document.formcad.foto.value;
	if(strSrc == "") {
		alert("Selecione uma imagem!");
	} else {
		document.getElementById("myfoto").attributes["src"].value = strSrc;
	}
}

Desse jeito funciona =)

Está faltando o attributes naquela linha de código do seu else.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá tuf®, muito obrigada pela resposta.

 

Fiz o que você me sugeriu, mas mesmo assim não funciona. Sem reação alguma.

 

Existe alguma outra possibilidade pra esse problema?

 

Obrigada novamente

 

BelTavares

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que estranho. montei um script rápido aqui, está funcionando normal, tente ver esse código que eu fiz:

 

<html>
<head><title></title>
<script language = "JavaScript" type = "text/javascript">
function MostarFoto() {
	var strArquivo = document.getElementById("txt").value;
	if(strArquivo == "") {
		alert("Preencha o campo!");
	} else {
		document.getElementById("imgFoto").attributes["src"].value = strArquivo;
	}
}
</script>
<body>
<input type = "text" name = "texto" id = "txt" />
<input type = "button" name = "enviar" value = "Upload" onClick = "MostarFoto()" />
<br>
<img name = "foto" id = "imgFoto" />
</body>
</html>

Use este código como exemplo, está funcionando perfeitamente.

Uma dica é não colocar o mesmo nome no atributo name e no id, por exemplo:

<input type = "text" name = "txt" id = "txt" />
Evite esse tipo de coisa.

 

Uma solução, você já checou se a variável strSrc está com o valor correto?

Nessa linha:

strSrc = document.formcad.foto.value;

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.