помогите с insertBefore
через форму загружаю в iframe php скрипт который принимает картинку
из формы и делает с ней нужные действия, затем по окончанию php скрипта вставлен JS код который добавляет только что загруженную картинку в элемент div (allPics) где уже имеются картинки var image=document.createElement('img'); imag.src='../pics/newname.jpg'; imag.id='newname'; imag.style.cursor='pointer'; imag.style.marginTop='20px'; imag.style.width='160px'; imag.style.height='160px'; var place=window.parent.document.getElementById("allPics"); if(place.children.length!=0){ var ID=place.children[0].id var before=window.parent.document.getElementById(ID); } place.insertBefore(image,before) работает отлично в опере и мозилле а в эксплорере ругается мол недопустимый аргумент в последней строке |
getAttribute('id');
|
это в строках 11 и 15 вставить вместо getElementById???
|
вместо place.children[0].id
place.children[0].getAttribute('id'); и не так imag.id='newname'; а так imag.setAttribute('id','newname'); И не забывай что id должен быть уникальным и что-то я ещё упустил, вроде. |
спасибо но не помогло :(
place.appendChild(image)тоже ругается на недопустимый аргумент |
Попробуй из window.parent убрать window.
Хотя вряд ли поможет:) |
var *!*image*/!*=document.createElement('img'); *!*imag*/!*.src='../pics/newname.jpg'; Очепятка? Залогируйте image. |
тьфу блин, а я годаю(
|
ух понял, нашел
правильно было написать image=window.parent.document.createElement('img') :) кому интересно вот мой дилетантский скрипт :) --------------HTML------------ Форма для загрузки картинки <form action="uploadImage.php" name="uploadForm" method="post" target="hiddenframe" enctype="multipart/form-data"> Картинка <input type="file" name="userfile"> <input type="submit" value="Загрузить" </form> iframe куда загружается php скрипт из файла uploadImage.php <iframe id="hiddenframe" name="hiddenframe" style="display:none; width:0px; height:0px; border:0"></iframe> здесь распологаются картинки, сюда добавляется новая после загрузки <div id="allPics" style="width:200px;height:400px;overflow:auto;text-align:center;"></div> --------------------PHP (uploadImage.php)--------------------- //функция для задания размеров картинки function createbigthumbnail($origfile,$thumbfile) { global $settings; $origimage=imagecreatefromjpeg($origfile); $origwidth=imagesx($origimage); $origheight=imagesy($origimage); if ($origwidth<600){$newidth=$origwidth; $newheight=$origheight; $thumbimage=imagecreatetruecolor($origwidth,$origheight);} else { $newidth=600; $o=1; $o=$origwidth/600; $newheight=$origheight/$o; $thumbimage=imagecreatetruecolor(600,$newheight);} $background=imagecolorallocate($thumbimage,255,255,255); imagefill($thumbimage,0,0,$background); $result=imagecopyresampled( $thumbimage, $origimage,0,0,0,0,$newidth,$newheight,$origwidth,$origheight); imageJPEG($thumbimage,$thumbfile,100);} // функция генерации имени файла function randomName() { $min=4; // минимальное количество символов $max=15; // максимальное количество символов $name=""; for($i=0;$i<rand($min,$max);$i++) // Загрузка и проверка символов { $num=rand(48,122); if(($num > 97 && $num < 122)) { $name.=chr($num); } else if(($num > 65 && $num < 90)) { $name.=chr($num); } else if(($num >48 && $num < 57)) { $name.=chr($num); } else if($num==95) { $name.=chr($num); } else { $i--; } } return $name; } // прием картинки if(is_uploaded_file($_FILES['userfile']['tmp_name'])){ $picture = $_FILES['userfile']; $picture_ext = strrchr($picture['name'],"."); if (eregi(".jpg", $picture_ext) || eregi(".jpeg", $picture_ext)) { move_uploaded_file($picture['tmp_name'],"../pics/temp.jpg"); if (file_exists("../pics/temp.jpg")){ // генерация имени $newname=randomName(); // приведение к нужному размеру createbigthumbnail("../pics/temp.jpg","../pics/".$newname.".jpg"); // удаление временного файла unlink("../pics/temp.jpg"); // вычисление высоты для предпоказа (ширина=160) $size=getimagesize('../pics/'.$newname.'.jpg'); $b=160/$size[0]; $size[1]=round($size[1]*$b); if (file_exists("../pics/".$newname.".jpg")){?> // далее добавление только что загруженной картинки // если там уже есть что-то вставляется в начало // иначе просто добавляется <script> var imag=window.parent.document.createElement('img'); imag.src='../pics/<?=$newname?>.jpg'; imag.setAttribute('id','<?=$newname?>') imag.style.marginTop='20px'; imag.style.width='160px'; imag.style.height='<?=$size[1]?>px'; var place=window.parent.document.getElementById('allPics'); if(place.children.length!=0){ var i=place.children[0].getAttribute('id') var before=window.parent.document.getElementById(i); place.insertBefore(imag,before) } else { place.appendChild(imag) } </script> <? } } } } |
:lol:
|
Часовой пояс GMT +3, время: 11:04. |