как поменять изображение без перегрузки страницы

zhupanenko

Новичок
как поменять изображение без перегрузки страницы

в ИЕ7 и ФФ перестала работать следующая строка. в ИЕ6 было все ок.
document.getElementById(imgName).src = pic.value;


полный текст функции - меняет изображение imgName
после изменения в поле <INPUT onChange="toggleImage(this, 'test_img');" name="path" id="fileupload" value="" type=file>
function toggleImage(pic, imgName)
{
var ext = pic.value;
ext = ext.substring(ext.length-3,ext.length);
ext = ext.toLowerCase();

if(ext == 'jpg')
document.getElementById(imgName).src = pic.value;
else
document.getElementById(imgName).src = "img/none.gif";
}
 

BRat

o_0
tf
а как работает теперь? я вот тоже не знаю :(
zhupanenko
var img = document.getElementById(imgId);
img.setAttribute("src", "img/none.gif");

Должно работать везде, ибо DOM (в IE нельзя таким устанавливать обработчики, onclick и тп)
 

kruglov

Новичок
У него не работает показ картинки, которую юзер выбрал в <input file>

И, похоже, это "в морг"... Из соображений безопасности это теперь нигде не работает...
 

tf

крылья рулят
boombick, угу, договорились
document.getElementById(imgName)
работает с Id а не с Name
 

boombick

boombick.org
tf
а тебе надо с name работать? функция же называется getElementById, а не ByName
кстати, byNames тоже есть: http://wdh.suncloud.ru/dhtml06.htm#hgetelementsbyname
 

zhupanenko

Новичок
можно ли как-то по-другому осуществить изменение картинки на странице без перегрузки страницы ???
 

Oscar

Новичок
Код:
<script>

function test(pic, imgName) {
	var s = pic.value;
	s.replace("\\","/");
	document.getElementById(imgName).src = "file:///" + s;
}

</script>

<img id="test_img" src="http://www.google.com/intl/ru_ALL/images/logo.gif"><br>

<input type="file" onchange="test(this, 'test_img');">
 

kruglov

Новичок
Из соображений безопасности нельзя на интернет-страницах грузить данные с локального диска. Все.
 

tf

крылья рулят
boombick, ты хочеш чтобы я умер?
Я ЭТО ЗНАЮ, но за ссылку спасибо :)
я топикстартеру говорил возможные причины,
но это уже боян, у него другие причины были........
 

Oscar

Новичок
zhupanenko, kruglov,

Код:
<?php

if ($_POST['action'] == "upload") {
	include("upload.php");
	$extentions = array("gif", "jpg", "bmp", "png");
	$fName = $_FILES["file"]["name"][0];
	uploader(1, $extentions, 30048576, "./");
?>
<script>
parent.document.getElementById("test_img").src = "./<?=$fName?>";
</script>
<?php
	exit;
}

?>
<script>
function uploadImage() {

	var f = document.getElementById("mainForm");
	var a = document.getElementById("action");
	a.value="upload";
	f.target="hiddenFrame";
	f.submit();

} 
</script>
<form id="mainForm" method="POST" enctype="multipart/form-data">
<input type="hidden" id="action" name="action" value="normal">
<img src="http://www.google.com/intl/ru_ALL/images/logo.gif" id="test_img"><br>
<INPUT onChange="uploadImage();" name="file[]" id="fileupload" type="file">
</form>
<iframe name="hiddenFrame" style="display: none;"></iframe>
 
Сверху