Autor | Zpráva | ||
---|---|---|---|
Hajaxa Profil |
Zdravím, mám jednoduchou funkci pro přidávání oblíbených položek pomocí Ajaxu, php a js.
Vše funguje do té doby, než chci změnit text pro přidání a odebrání na obrázek. Texty Přidat do oblíbených a Odebrat z oblíbených jsem se pokoušel změnit na obrázky, bohužel ve finále se nemění obrázek na druhý obrázek. U textu vše funguje bez problému. define("PRIDAT", 'Přidat do oblíbených'); define("ODEBRAT", 'Odebrat z oblíbených'); define("PRIDAT", '<img src="http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/48x48/delete.png"/>'); define("ODEBRAT", '<img src="http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/48x48/heart.png"/>'); JS: // Přidání do oblíbených function AddFav() { $.ajax({ url: SITE_URL+'/funkce/oblibene/ajax/oblibene.php', type: 'POST', data: "id=" + ID }); if ($('#oblibene a').html() == ODEBRAT) { $('#oblibene a').html(PRIDAT); } else { $('#oblibene a').html(ODEBRAT); } } PHP: define("PRIDAT", 'Přidat do oblíbených'); define("ODEBRAT", 'Odebrat z oblíbených'); define("PRIDAT", '<img src="http://www.iconfinder.com/icondetails/42212/48/black_cross_close_delete_icon"/>'); define("ODEBRAT", '<img src="http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/48x48/heart.png"/>'); // Přidání do oblíbených if ($uzivatel['lstatus'] == 1) { $user_fav_yet = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM oblibene WHERE uzivatel_id='$uzivatel[id]' AND polozka_id='$id'"), 0); if ($oblibeno >= 1) { $game['oblibena_polozka'] = '<div id="oblibene "><a href="#">'.ODEBRAT.'</a></div>'; } else { $game['oblibena_polozka'] = '<div id="oblibene "><a href="#">'.PRIDAT.'</a></div>'; } } else { $game['oblibena_polozka'] = '<a href="'.$uzivatel[' neprihlasen'].'">'.PRIHLASIT.'</a>'; } Děkuji za rady. |
||
aDAm Profil |
#2 · Zasláno: 15. 3. 2013, 08:26:55
Definovanou konstantu nelze měnit. Jakmile jednou konstantu zadefinuješ tak to tam bude až do konce.
|
||
Jan Tvrdík Profil |
#3 · Zasláno: 15. 3. 2013, 11:48:50
Hajaxa:
Máš špatně zadanou adresu v PRIDAT (linkuješ stránku, ne obrázek).
|
||
Hajaxa Profil |
#4 · Zasláno: 15. 3. 2013, 14:44:20
Jan Tvrdík:
Adresa na obrázek, která je zde uvedena je pouze ukázková ze stránky Iconfinder. Na webu pak jsou samozřejmě funkční obě dvě adresy. Nezná tedy někdo nějaký způsob, jak tento problém vyřešit? Zkoušel jsem místo dvou konstant dát pouze html prvek (img), to ovšem nefunguje. |
||
aDAm Profil |
#5 · Zasláno: 15. 3. 2013, 16:04:55
Jak jsem psal, obsah konstanty nemůžeš měnit, takže místo konstanty budeš muset použít nějakou proměnnou která už přepisovat jde.
|
||
Hajaxa Profil |
aDAm: Nepřepisuji obsah konstanty, pouze přes JS měním z jedné konstanty na druhou (po kliknutí atd...)
U textu funguje vše v pohodě, ale když do dvou konstant vložím místo textu obrázek, nefunguje to. Pokouším se chybu najít, bohužel marně. // Přidání do oblíbených function AddFav() { $.ajax({ url: SITE_URL+'/funkce/oblibene/ajax/oblibene.php', type: 'POST', data: "id=" + ID }); if ($('#oblibene a').html() == ODEBRAT) { $('#oblibene a').html(PRIDAT); } else { $('#oblibene a').html(ODEBRAT); } } Problém nalezen, nyní potřebuji problém vyřešit: Za PRIDAT jsem dosadil <span></span>
Za ODEBRAT jsem dosadil <div></div>
Vše funguje, jako při textu. ----- Nyní nastává problém. Po přidání <img> tagu je tlačítko nefunkční (cesty k obrázkům jsou samozřejmě funkční). Za PRIDAT jsem dosadil <span><img src="/images/pridat.png"/></span>
Za ODEBRAT jsem dosadil <div><img src="/images/odebrat.png"/></div>
Díky za rady Update: Vyřešeno. Problém byl v uzavřeném <img> tagu / >.
<img src="/images/odebrat.png"/> |
||
aDAm Profil |
#7 · Zasláno: 15. 3. 2013, 18:17:23
a ty dvě identické konstanty na začátku jsou co? Jen tak z plezíru?
|
||
Časová prodleva: 11 let
|
0