ugrás a tartalomhoz

XmlHttpRequest image

gyeory · 2008. Május. 23. (P), 15.47
Próbálgattam a következő javascriptet:
  1. function sendRequest(url) {  
  2.   try { req = new XMLHttpRequest(); }  
  3.   catch (e) { try { req = new ActiveXObject('Msxml2.XMLHTTP'); }  
  4.   catch (e) { try { req = new ActiveXObject('Microsoft.XMLHTTP'); }  
  5.   catch (e) { req = nullreturn; }}}  
  6.     
  7.   req.open("POST", url, true);  
  8.   req.setRequestHeader("Content-Type""application/x-www-form-urlencoded");  
  9.   req.onreadystatechange = function() {  
  10.       if (req.readyState == 4) {  
  11.         if (req.status == 200) {  
  12.           setPicture( req.responseText );  
  13.         }  
  14.       }  
  15.     };  
  16.   req.send(null);  
  17. }  
  18.   
  19. function setPicture(value) {  
  20.     var item=document.getElementById("mapimg");  
  21.     item.style.left=0+'px';  
  22.     item.style.top=0+'px';  
  23.     item.onerror = function(e){  
  24.         alert("Error processing Image.  Please try again.");  
  25.     }  
  26.     item.src=value;  
  27. }  
  28.   
  29. function MouseUp(e)  
  30. {  
  31.     var map=document.getElementById("map");  
  32.     item.src=sendRequest("fejlec1.jpg");  
  33. }  
úgy csináltam, ahogy a google leírásában láttam (vagy hasonlóan:), de nem akar menni. Már megnéztem a neten amit találtam, de nem segített.
Mindíg az oneeror alatt leévő üzenetet kapom. Már mindent próbáltam, ami eszembe jutott.
(A mapimg egy "<img id="mapimg"..." objektum.)
 
1

Agyuval verebre

zmb · 2008. Május. 23. (P), 17.22
Nem lett kicsit tulvarialva? Siman eleg csak az img elem src attributumat atallitani, a tobbit majd a bongeszo elintezi. Meg aztan binaris adatot nem biztos, h egesseges szovegkent kezelni. Vegul az src attributumnak a kepet, mint binaris adatot kell beallitani.
3

sajnos nem

gyeory · 2008. Május. 25. (V), 06.58
próbálatm a req.responseStream-et, de ie és ff alatt is null-t adott vissza. A firebugban amúgy látom, hogy a response maga a kép bináris formája.
2

Picit off: 0-nál nem kell mértékegység

Jano · 2008. Május. 23. (P), 17.28
css értékek megadásakor a 0 értéknél felesleges a mértékegység...
4

nem ezt akartam, de ez tünt jónak

gyeory · 2008. Május. 25. (V), 07.03
próbáltam már az src állítását is (sőt, így működött az egész térképező kóceráj), de az onload később fut le mint ahogy a kép megjelenik és így ugrál... valójában erre kerestem megoldást
6

onload vs ondomload

gex · 2008. Május. 25. (V), 10.51
keress rá az ondomloadra.
5

A problémát írd le

vbence · 2008. Május. 25. (V), 10.12
Mit szeretnél elérni?

Az img.src egy URL-t vár, nem pedig bináris adatot (azaza fájlt magát). Egyes böngészők támogatják a data protokolt: http://www.ietf.org/rfc/rfc2397.txt pl:
  1. <IMG  
  2.    SRC="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw  
  3.    AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz  
  4.    ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp  
  5.    a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl  
  6.    ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis  
  7.    F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH  
  8.    hhx4dbgYKAAA7"  
  9.    ALT="Larry">  
A sendRequest függvényed mindig undefineddal fog visszatérni, hiszen nincs benne return (csak egy, és az is undefined-ot ad vissza), így a következő sor mindig hibát fog adni:
  1. item.src=sendRequest("fejlec1.jpg");    
7

image elugrik

gyeory · 2008. Május. 26. (H), 09.25
van egy térképező alkalmazás. Ezt egér lenyomása után drag droppal mozgatni akarom. a végén megy a szerverre az az új pozíció, és a szerver visszaadja az új pozíciónak megfelelő képet (aspx). de az eltolás után a pozíció elromlik, vissza kell állítani; ez ugrálást eredményez, ugyanis előbb visszaugrik csak utána cserélődik a kép. ezt kellene megoldanom, de nem akar sikerülni
8

No és így próbáltad?

vbence · 2008. Május. 26. (H), 11.06
  1. item.src = "valami.jpg";  
  2. item.onload = function () {  
  3.     item.style.left=0+'px';  
  4.     item.style.top=0+'px';  
  5. }  
9

mértékegység

gex · 2008. Május. 26. (H), 11.53
http://weblabor.hu/forumok/temak/21341#comment-52868
10

Köszönöm :)

vbence · 2008. Május. 26. (H), 12.48
olvastam... copy-paste volt, gondoltam a megértést jobban segíti, ha csak esszenciális dolgokat javítok benne. Másrészt, gondolom oka van, hogy a nulla nem '0px' hanem 0 + 'px' van ott, de azt már a kérdező tudja (vagy nem), miért...
11

"ezzel..."

gyeory · 2008. Május. 26. (H), 14.13
köszönöm, ezzel jó... két nap után csak meglett ;)
12

még valami

gyeory · 2008. Május. 26. (H), 14.43
még annyit, hogy az onloaddal próbáltam, de külön volt a függvény (nem az onload=function(...) formában és úgy nem működött... nem ismerem a javascriptet (csak c/c++), ezért is nehéz
13

esemény

vbence · 2008. Május. 26. (H), 14.48
Az eseménykezelőt valahogy hozzá kell rendelni az objektumhoz.. ha egy síma onload nevű függvént írsz (a - látszólag - globális szkópban), az a window ra fog vonatkozni, tehát mint a window.onload = function ....