ugrás a tartalomhoz

XmlHttpRequest image

gyeory · 2008. Május. 23. (P), 15.47
Próbálgattam a következő javascriptet:

function sendRequest(url) {
  try { req = new XMLHttpRequest(); }
  catch (e) { try { req = new ActiveXObject('Msxml2.XMLHTTP'); }
  catch (e) { try { req = new ActiveXObject('Microsoft.XMLHTTP'); }
  catch (e) { req = null; return; }}}
  
  req.open("POST", url, true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.onreadystatechange = function() {
      if (req.readyState == 4) {
        if (req.status == 200) {
          setPicture( req.responseText );
        }
      }
    };
  req.send(null);
}

function setPicture(value) {
    var item=document.getElementById("mapimg");
    item.style.left=0+'px';
    item.style.top=0+'px';
    item.onerror = function(e){
        alert("Error processing Image.  Please try again.");
    }
    item.src=value;
}

function MouseUp(e)
{
    var map=document.getElementById("map");
    item.src=sendRequest("fejlec1.jpg");
}
ú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:
<IMG
   SRC="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
   AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
   ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
   a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
   ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
   F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
   hhx4dbgYKAAA7"
   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:
    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
    item.src = "valami.jpg";
    item.onload = function () {
        item.style.left=0+'px';
        item.style.top=0+'px';
    }
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 ....