NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Marek Burda
Člen
Avatar
Marek Burda:4.9.2017 13:45

Ahoj - Pracujem na malom scriptíku pre obliekanie characteru :) Ako môžte vidieť, aktuálne môžte dať aj viac predmetov do jedného políčka a to samozrejme nechceme. Mám nastavné už aj updatovanie databázy takže kľudne by som mohol urobiť cez php podmienku if kde by som podľa toho či má týpek práznde pole v db zobrazil DIV do ktorého môžem alebo nemôžem vkladať dalšie predmety. Nato je ale nutný reload stránky aby sa podmienka znovu spustila a skontrolovala tak či už nieej updatnuté pole. A to samozrejme tiež nechceme .. Máte teda nejaké nápady ako po drope itemu zablokovať dané pole tomu aby tam už nešlo nič dropnúť ? (Aspoň do reloadu stránky - po realoadne by som tam už hodil kód na zobrazovanie divov ktorý som spomínal hore) ? Ďakujem za pomoc :)
https://jsbin.com/buqufuvipe/edit?…

 
Odpovědět
4.9.2017 13:45
Avatar
pinkysek
Člen
Avatar
pinkysek:4.9.2017 13:57

Při prvním načtení stránky si určitě ze serveru posíláš objekt toho inventáře a charakteru co má na sobě ne? Tak si ten objekt ulož přímo v javascriptu a podmínky můžeš dělat tam při přidání předmětu do inventáře ne?

 
Nahoru Odpovědět
4.9.2017 13:57
Avatar
pinkysek
Člen
Avatar
pinkysek:4.9.2017 14:08

Nebo další věc nemusíš načítat znovu celou stránku, ale jen tu část stránky, kde je inventory ne? Tím pádem pak by jsi mohl podmínky dělat klidně přimo v php a ověřovat to na serveru, což by bylo určitě lepší a bezpečnější...

Editováno 4.9.2017 14:08
 
Nahoru Odpovědět
4.9.2017 14:08
Avatar
Marek Burda
Člen
Avatar
Marek Burda:4.9.2017 14:23

Ano na serveru to už je overené - Neupdatne sa to znovu ak už tam predmet je. Tu je ale prolém v JS - že človek môže neustále vkladať dalšie predmety do políčka kde už predmet je .. (aj ked nato PHP už nebude reagovať ale predsa) (už po načítaní stránky)

Editováno 4.9.2017 14:23
 
Nahoru Odpovědět
4.9.2017 14:23
Avatar
pinkysek
Člen
Avatar
pinkysek:4.9.2017 14:25

Proto si při prvním načtení stránky ulož ten objekt charateru v javascriptu a při dropu itemu v javascriptu ověř jestli v tom objektu něco je nebo ne =) Pokud není tak to tam vložíš a pošleš na server. Pokud je nevloží se to tam....

 
Nahoru Odpovědět
4.9.2017 14:25
Avatar
pinkysek
Člen
Avatar
pinkysek:4.9.2017 14:46

Něco takového třeba

var result = JSON.parse('{ "Hlava": { "IsEmpty": true } }');
var character = result;

function drop(ev) {

if(character.Hla­va.IsEmpty){
if(1==1){
ev.preventDefau­lt();
var data = ev.dataTransfer­.getData("tex­t");
ev.target.appen­dChild(documen­t.getElementBy­Id(data));
character.Hla­va.IsEmpty = false;
}
}

 
Nahoru Odpovědět
4.9.2017 14:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.