ugrás a tartalomhoz

kepkezeles jquery - $.post()-al

perretz · 2010. Nov. 12. (P), 13.24

<script language="JavaScript1.2">
$(function(){
	$("input#submitbutton").click(function(){
		$.post("../teszt/readfile.php",{
			text: $("input#textbox").val()
		},function(data){
			$("div#kep").html(data);
		})
	})	
});
</script>

<input type="Text" id="textbox" value="1">
<input type="Submit" id="submitbutton">

<div name="imagebox" id="imagebox" style="width: 500px; height: 500px; border: 1px solid red;"></div>
 
1

Tegyél föl kérdést!

Török Gábor · 2010. Nov. 12. (P), 13.29
Tegyél föl kérdést! Megdöbbentő, de a kezdő témák jelentős százalékában nincs kérdés. (proclub, Tippek, hogy biztos válaszoljanak a fórum kérdésedre!)
2

Inakbb az megdobbento, hogy

perretz · 2010. Nov. 12. (P), 13.43
Inakbb az megdobbento, hogy az elobb meg latszodo kerdes idovel eltunt. :))

Szoval, azt szeretnem elerni, hogy a divbe egy kepet toltsek be amit egy php file ad vissza. Hogyan lehetne megoldani, hogy a post-nal visszatero kep megjelenjen a div-ben, a mostani peldanal a file tartalma szovegesen jelenik meg.

$("div#kep").html(data); helyett persze helyesen $("div#imagebox").html(data);
3

data

Poetro · 2010. Nov. 12. (P), 14.42
Jó lenne tudni, mit tartalmaz a data, és te abból mit szeretnél megjeleníteni. Ezen kívül ha HTML-t vársz vissza, akkor érdemes lenne ennek megfelelő adattípust várni
$("input#submitbutton").click(function() {
  $.post(
    "../teszt/readfile.php", 
    {
      text: $("input#textbox").val()
    },
    function(data) {
      $("div#kep").html(data);
    },
    'html'
  );
});
4

Szoval, azt szeretnem elerni,

kuka · 2010. Nov. 12. (P), 15.40
Szoval, azt szeretnem elerni, hogy a divbe egy kepet toltsek be amit egy php file ad vissza.
Ebből én azt értem, hogy image/* tartalom jön vissza, amit tudomásom szerint data URI-val (lásd RFC 2397) lehetne a begyömöszölni egy képbe vagy a divbe háttérként.

De részemről ez hülyeség. Az img tag le tudja tölteni a neki megadott tartalmat, akkor meg minek "kézzel" letölteni? Persze ha kötelező a POST, az megmagyarázza a plusz munkát.
5

dataurl

Poetro · 2010. Nov. 12. (P), 17.32
Mivel a JavaScript eléggé rosszul áll bináris adatok kezelésében ezért legjobb ha base64-ként kapná meg a képet, és azt lehet data URI-vel background-image-ben, <img> és <canvas> elemben használni. Bár ezek jó része nem működik régebbi böngészőkben.
6

Ha nem érted egyben, bontsd fel részekre...

s_volenszki · 2010. Nov. 13. (Szo), 15.29
Ha nem érted egyben, bontsd fel részekre és keresd meg, melyiknél a leghiányosabb a tudásod!

A kérdések túlnyomó többségében a kérdező a megoldandó feladat egy pontjára fókuszál, ami miatt a lehetséges válaszadóktól kulcsfontosságú információkat tart vissza.

A te esetedben nem tudni, hogy mi pontosan a funkció, amit meg akarsz valósítani, ezért nincs pontos válasz.

Ha azonban elkezded a feladatot felbontani egységekre, akkor látod, hogy mit kell megértened.

Jelen esetben a következő részfunkciókat kell megismerned:

- Hogyan töltsünk be egy képet php-vel? (http://php.net/manual/en/function.imagecreatefromjpeg.php)

- Hogyan adjunk hozzá képet a DOM-hoz? (http://forums.devshed.com/javascript-development-115/dom-methods-to-create-an-image-505145.html)

- Hogyan töltsünk be egy képet előre jQuery-vel (http://jquery-howto.blogspot.com/2009/02/preload-images-with-jquery.html)

Ha felbontod a megoldandó feladatot részekre, te magad is okosabban kérdezel.

u.i.:
Lehet, hogy az egész zsákutca, mert te nem is ezt akarod, mégis kiválóan szemlélteti a funkcionális felbontás fontosságát!