JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Gyorskeresés
Legfrissebb anyagok
Általános témák
LOGOUT.hu témák
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [sziku69:] Szólánc.
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Mr Dini:] Mindent a StreamSharkról!
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [moongoose:] Retro AT rendszerű számítógépház textúrájának visszaállítása.
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] Gurulunk, WAZE?!
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
Hozzászólások
Sk8erPeter
nagyúr
Megy az. Felraktam neked ide egy példát:
http://jsbin.com/axuzid/edit#javascript,html,live
Kattints először a jobb oldali panelbe, és utána nyomkodd a kurzorbillentyűket.
Bal oldalt meg láthatod a kódot.
[ Szerkesztve ]
Sk8erPeter
Coconut's
csendes tag
Ó köszönöm szépen a segítséget!
Sk8erPeter
nagyúr
Szívesen!
Nyugodtan kérdezz máskor is.
Sk8erPeter
Coconut's
csendes tag
Rendben köszönöm
[ Szerkesztve ]
papa019
senior tag
Hali!
Most teljesen más irányba kellene elindulnom a helymeghatározós projektben és ehhez szükségem lenne pár infóra.
Amit szeretnék csinálni/használni:
- Google Maps API v3
- Poligonok rajzolása kattintásokkal és gombnyomás vagy enter után lenne egy felugró ablak, amiben az adott poligonhoz lehetne beírni adatokat, majd egy save gomb hatására ezek a lementése egy adatbázisba
Ehhez mit érdemes használni a JavaScript mellett?
Milyen adatbázist érdemes használni?
Tud esetleg valaki ehhez hasznos tutorialt?
Üdv.: Papa
[ Szerkesztve ]
Sk8erPeter
nagyúr
jQuery UI Dialog - Modal form
Aztán mondjuk Save gomb hatására AJAX-szal elküldöd szerveroldalra, hogy ott aztán el legyen mentve.
Hogy milyen adatbázist használsz, az teljesen más lapra tartozik, konkrét feladattól is függ, de adatbázisszervernek tökéletesen megfelelhet MySQL is. De ha adatbázisba fel akarod tölteni az adatokat, akkor gondolom az már egyértelmű, hogy ahhoz szerveroldali programozás (pl. PHP-vel vagy mással, szervertől függ) szükséges.
Tehát dialógus felugrik, felhasználó beírja az adatokat, először kliensoldalon validálsz, majd ha oké, elküldöd az adatokat szerveroldalra, szerveroldalon megint validálsz, feldolgozod az adatokat, majd feltöltöd adatbázisba, kész.
[ Szerkesztve ]
Sk8erPeter
papa019
senior tag
Az egyértelmű volt, hogy szerver oldali programozás kell.
Csak gondoltam megkérdezem, hogy mit érdemes használni.
Sk8erPeter
nagyúr
Jó, én meg válaszoltam is.
Sk8erPeter
papa019
senior tag
Köszönöm, majd valahogy nekiállok, így első látásra nem lesz egyszerű.
Sk8erPeter
nagyúr
De nem is bonyolult. Az adatok elküldése előtt gyűjtsd össze, majd serializáld az adatokat - most épp én vagyok az új Kazinczy -: [.serialize()].
Szerk.:
Pl. ha PHP-t választasz, POST metódussal elküldöd, és tömbszerűen megkapod az adatokat szerveroldalon:
a hivatalos oldalon lévő példával élve:
<form>
<div><input type="text" name="a" value="1" id="a" /></div>
<div><input type="text" name="b" value="2" id="b" /></div>
<div><input type="hidden" name="c" value="3" id="c" /></div>
<div>
<textarea name="d" rows="8" cols="40">4</textarea>
</div>
<div><select name="e">
<option value="5" selected="selected">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select></div>
<div>
<input type="checkbox" name="f" value="8" id="f" />
</div>
<div>
<input type="submit" name="g" value="Submit" id="g" />
</div>
</form>
Ez a .serialize() után:
a=1&b=2&c=3&d=4&e=5
Szerveroldalon PHP-vel pedig így kapod meg őket:
$_POST['a'] (ez itt épp == 1), $_POST['b'] (==2), stb....
[ Szerkesztve ]
Sk8erPeter
papa019
senior tag
Köszönöm, sokat segítettél már csak ezekkel is.
Az én fő problémám az, hogy sosem használtam jquery-t, js-t és php-t sem.
Ez a félév komoly változásokat hoz ezen a területen.
Sk8erPeter
nagyúr
Sok mindenre használhatók, érdemes megtanulni.
Persze még ha mester vagy a szkriptírogatásban, akkor sem fog kitakarítani a script helyetted.
Egyébként szerkesztettem az előző hsz.-t, hogy egyértelműbbé tegyem a dolgot.
Sk8erPeter
papa019
senior tag
Hát elég sok dologra jók, meg jó lenne csinálni egy szuper alkalmazást, csak így félév közben elég szar, mert sok a zh, stb, így erre nem nagyon van idő -> várom a nyarat.
A legnagyobb baj az, hogy egy olyan irányba mentem el (Wikimapia API), ami használhatatlan és ezt a konzulensem is most próbálta ki, ezért indulunk más irányba.
(valamiféle Wikimapi klón, csak jobban felépítve ) Csak ezzel elment 5-6 hét... :S
A sok segítséget pedig köszönöm.
[ Szerkesztve ]
Sk8erPeter
nagyúr
Szívesen!
Én meg ZH-ra való tanulás helyett állandóan fórumozom, az sem jó.
Amúgy az az 5-6 hét sem volt haszontalan, biztos sokat tanultál ezalatt.
Sk8erPeter
Forza_JUVE
aktív tag
Sziasztok!
1 kis segítséget szeretnék kérni JavaScript-el kapcsolatosan, kicsit zöldfülű vagyok ugyanis!
Szóval van egy AudioPlayer scriptem, ami weblapon háttérzenét csinál. Tök jól működik is meg minden, egészen addig, amíg be nem teszem abba a HTML-be, ahol használnám.
Ott is működik, megjelenés, zenelejátszás tökjó, de nem tudok rajta kattintani egy gombjára sem ... csak úgy ott van.
Arra viszont rájöttem, hogy a CSS-vel lehet valami "baj", mert ha a HTML <head> részéből kiveszem a <link rel="stylesheet" href="res/common.css?v=3.0.5"> sort, akkor - nyilván szétesve de - megjelenik a HTML oldal, és a tetején az AudioPlayer kattintható is lesz, tehát OK.
Na most olvastam vmi Modernizr scriptről a neten, ami viszont nekem kínai, de a HTML-ben a Doctype alatt van egy ilyen: <html lang="hu" class="no-js">
Lejjebb a <head> részében futtatja is ezt a scriptet:
<script src="res/modernizr-2.0.6.min.js"></script>
Csak sejtem, hogy itt lehet a kutya elásva, de nem tudom a megoldást. Esetleg a CSS-ben kell valamit átírni?
Segítsetek pls!
Köszi előre is!!!
Forza_JUVE
aktív tag
időközben kiderült, hogy a fenti jelenség Firefox 11.0 alatt van jelen, IE 8 alatt jól működik.
(#2567) Peter Kiss válasza Forza_JUVE (#2565) üzenetére
A Modernizr egy feature detector önmagában, olvass utána az oldalán. Btw, zene egy weboldalon nagyon nem jó ötlet, benne van a top 10 webes hülyeségben (a.k.a. amit a felhasználók gyűlölnek).
(#2568) Forza_JUVE válasza Peter Kiss (#2567) üzenetére
Forza_JUVE
aktív tag
Tudom, én se csípem ha vhol kéretlenül megszólal valami ... de ezt szeretném kipróbálni ... saját gyártású weblap, aztán gondoltam hülyéskedek 1 kicsit.
(#2569) Sk8erPeter válasza Forza_JUVE (#2565) üzenetére
Sk8erPeter
nagyúr
Melyik ez az AudioPlayer?
Én azt javasolnám, hogy használd a nagyon jól testreszabható jPlayert, ez elvileg cross-browser módon működik, legalábbis elég sok böngészőre optimalizáltak, IE-re is.
Ahogy a linkelt példában látható, valami olyasmi nagy gombot tegyél be, hogy a felhasználó MINDENKÉPPEN le tudja állítani a zenét - de még jobbat mondok: csak tedd be a lejátszásra szolgáló gombot, de NE szólaltasd meg automatikusan a zenét. Hadd döntse el a felhasználó, egyáltalán szeretne-e zenét hallgatni, és ha igen, akkor mikor induljon a lejátszás!
Tehát nem muszáj kiszedned a zenehallgatási lehetőséget, de add a felhasználó kezébe a döntés jogát, mert azt szereti. Sokkal jobban értékelem én is az olyan oldalakat, ahol én dönthetem el, hogy kíváncsi vagyok-e az oldal tulaja által fontosnak tartott zenékre.
[ Szerkesztve ]
Sk8erPeter
v2izzy
tag
Szerintetek hozzá lehet jutni valahogy egy böngészőben az általa ismert HTML tagek nevéhez valahogy, például egy tömb formájában?
http://flic.kr/ps/MuuJU | @gerhard_berger | https://github.com/gerhardberger
Speeedfire
nagyúr
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
Sk8erPeter
nagyúr
Hű, hát ez egy jó kérdés. Most hirtelen nem jut eszembe ilyenre megoldás, de egyébként mire kellene ez neked konkrétan?
Plusz kíváncsiságból: milyen tagre akarnál esetleg tesztelni, amit egyik vagy másik böngésző nem támogat (úgy értem, pl. mit nem támogat adott böngésző, amire neked szükséged lenne)?
[ Szerkesztve ]
Sk8erPeter
v2izzy
tag
Hát már régebben szerintem linkeltem, egy ilyen kis HTML kód generáló modulomhoz. Mert most ugye van egy tömb amibe összegyűjtögettem úgyahogy a tageket, de így azért mégsem az igazi.
Amúgy lehet teljesen, de majd meg látjuk újra írom az egész modult, mert most csináltam egykét tesztet és úgy tűnt ha DOM-os függvényeket (createElement, appendChild stb) használok, akkor gyorsabb (ti is mondhatnátok véleményt ha van tapasztalat (most csak egy objektumból generálok le egy stringet és azt illesztem be)). Szóval ilyen függvényekkel hoznám létre a HTML-t.
Nézegettem, és ugye a a createElement az bármilyen taget legenerál, de ha nem ismert az element akkor a visszaadott objektum HTMLUnknownElement típusú, viszont ha valami ismert, akkor HTML HTMLDivElement például. Tehát ezért is gondolom, hogy valamilyen módon benne vannak a létező tagek (meg hát amúgy is benne kellene lennie azért ), de jó lenne valahogy elérni őket.
Speeedfire: ismerem, de mint fent írtam még nincs megoldásom.
[ Szerkesztve ]
http://flic.kr/ps/MuuJU | @gerhard_berger | https://github.com/gerhardberger
Sk8erPeter
nagyúr
Igen, ezt linkelted, de igazából ehhez nem nagyon értem, miért kellene neked a komplett lista.
Azt meg nem tudtam, hogy stringből generálod le, és nem mondjuk egy document.createElement segítségével (nem néztem meg a kódot), pedig az lenne a logikus.
Amúgy most hirtelen nem jut eszembe, mi az a DOM-elem, ami nem szokott működni, mondjuk ez nyilván böngészőfüggő, ergo IE-ben tuti csomó nem megy, de Chrome-ban ha csinálok egy ilyet:
document.createElement('asd');
Akkor létrehozza ezt:
<asd></asd>
Pedig ez nem egy "valid" tag a szokványos W3C-s DTD-k szerint - de miért ne lehetne ez teljesen valid egy saját DTD szerint?
Mi ad vissza HTMLUnknownElement típust?
Ha azt ad vissza, akkor miért nem dobsz vissza egyszerűen egy hibaüzenetet, hogy a megadott DOM-elem valamilyen oknál fogva nem megfelelő, adjon meg mást?
Sk8erPeter
Sk8erPeter
nagyúr
Még annyit, hogy még mindig nem látom, hogy lenne bármilyen konkrétan kipróbálható kód is az oldaladon, ezért csináltam neked egyet kb. 2 perc alatt (csak azért mondom, mert nagyon nem árt egy ilyen demo):
http://jsfiddle.net/Sk8erPeter/Pm6pg/
Esetleg készíthetnél egy jsFiddle-accountot, és csinálhatnál saját neved alatt egy ugyanilyen demót, és belinkelhetnéd a GitHubos oldalra, hogy élesben is kipróbálható legyen.
Egy JSLintet ott a jsFiddle-felületen érdemes lenne legalább ráereszteni, és aszerint validdá tenni a példakódot és magát a "könyvtárat"/modult egyaránt.
Sk8erPeter
v2izzy
tag
A komplett lista azért kell mert akkor tudom a prototypejába betenni az alap objektumnak a függvényeket (.div(), .span() stb).
Mikor elkezdtem csinálni, akkor még nem nagyon ismertem a DOM-ot, aztán így maradt eddig.
Nekem nem az a gondom, hogy nem valid tagokat akarnak megadni, azzal semmi gond (most is van benn egy addTag fn. hogyha valakinek van valami mása. Csak azt írtam, hogyha pl. kiiratod, hogy:
console.dir(document.createElement('asd'))
akkor a visszakapott objektum típusa HTMLUnknownElement
console.dir(document.createElement('div'))
akkor HTMLDivElement.
Ezzel csak azt akartam mutatni, hogy a valid tagok külön vannak kezelve, tehát valahol el vannak tárolva, hogy mik validok. De ez nem olyan lényeges, mivel ettől függetlenül is biztos el van tárolva.
Lehet kellene csinálni egy jsFiddle-t, majd megnézem holnap, meg a jsLint-et is. Köszi!
http://flic.kr/ps/MuuJU | @gerhard_berger | https://github.com/gerhardberger
Karma
félisten
Ez a "valahol" a user agent (böngésző) implementációjában van... Nem hiszem hogy elérhetővé kéne tenni a JS motor felé.
Manuálisan a HTML5 specifikációban meg tudod nézni, hogy a különböző tagekhez milyen DOM interface osztály tartozik (példa), de automatizálni...
“All nothings are not equal.”
(#2578) Forza_JUVE válasza Sk8erPeter (#2569) üzenetére
Forza_JUVE
aktív tag
OK! Köszi, igazad van ... így teszek majd!
Kösz a segítséget. Az általam használtnak nem tudom fejből a nevét ... de egy egyszerű kis dolog ... megnézem az általad ajánlottat.
Üdv.
Sk8erPeter
nagyúr
"A komplett lista azért kell mert akkor tudom a prototypejába betenni az alap objektumnak a függvényeket (.div(), .span() stb)."
Nem néztem meg a kódodat, és biztos most nehézkes a felfogásom, de most még mindig nem jön át, mi az oka, hogy a createElementes megoldás miért nem elegendő ehhez (tehát ha valaki divet szeretne kreálni, akkor document.createElement('div');). Mit hagyok ki? Mihez kell a komplett lista konkrétan?
Példakódra rátérve: én amúgy nem értem, a megfelelő sorok végére miért nem teszel pontosvesszőt. Sokkal áttekinthetetlenebb így a kód, jó is, hogy a JSLint szól érte.
A korábbi kódot, amit az oldaladról szedtem, elég gyorsan JSLint-validdá lehetett tenni:
http://jsfiddle.net/Sk8erPeter/Pm6pg/1/
Így már szerinte is okés (a class-ból 'class' lett, különben nem jó, mert foglalt névre hivatkozik a JSLint).
Példa még mindig nincs a GitHub-oldaladon.
Amúgy ha bejelentkezel a JSFiddle-oldalon, és ennél a kódnál rámész, hogy "Fork", akkor máris a Te neved alatt fog megjelenni.
=========
(#2578) Forza_JUVE :
OK, nincs mit, ha kell segítség, akkor másold be ide a kódot, hogy mivel próbálkoztál, és segítünk.
[ Szerkesztve ]
Sk8erPeter
v2izzy
tag
Itt egy példa. Látod, ha itt nem tudnám előre a neveket, akkor nem lehetne a függvényeket megcsinálni a megfelelő névvel az objektumba.
http://flic.kr/ps/MuuJU | @gerhard_berger | https://github.com/gerhardberger
Sk8erPeter
nagyúr
Jaaaaaa, értem, jó, így már felfogtam.
Szerintem erre nincs jobb, mintha stringként átadod úgy, ahogy a jQuery-nél lehet, pl. img tag dinamikus létrehozására a jQuery topicban épp mutattam példát: [link]
valahogy hasonlóan kellene megoldanod, persze akkor alternatív utat kell választani, nem ilyen "függvényszerűen" lehet meghívni (pl. div() ).
jQuery-kódban pl.:
// If a single string is passed in and it's a single tag
// just do a createElement and skip the rest
.....
Aztán a végére eljutsz oda, hogy felfedezed a spanyolviaszt, és készítesz egy új jQuery-t.
Sk8erPeter
v2izzy
tag
Ismerem a jQuery-nek ezt a funkcióját természetesen, de pont ez volt a célom vele, hogy egyszerűbben és szebben lehessen leírni a html-t js-be. És persze hogy elmehetnék jq-s irányba és string-ként átadhatnám, de pont nem ez a célom. A jQuery természetesen ezt csinálja, mert nekik nem ez a lényeg, hogy minden tag-hez külön fgv. stb. Pont ezért csinálom így, hogy valami pluszt adjon ez mondjuk a jQuery-shez képest. (Bár azért világmegváltó terveim nincsenek vele, de tanulásnak jó meg azért érdekesnek találom )
És ha összehasonlítod:
var img = $('<img />').attr({
'id': 'myImage'+img_index,
'src': 'http://doc.jsfiddle.net/_downloads/jsfiddle-logo.png',
'alt': 'JSFiddle logo',
'title': 'JSFiddle logo',
'width': 250
}).appendTo('#container');
Ezzel:
huk('#container')
.img({
'id': 'myImage'+img_index,
'src': 'http://doc.jsfiddle.net/_downloads/jsfiddle-logo.png',
'alt': 'JSFiddle logo',
'title': 'JSFiddle logo',
'width': 250
})
.append();
Szerintem utóbbi szebb (de lehet mert én írtam )
Meg azért nagy erőforrást nem emészt fel szerintem, minden tag-hez egy function pointert rendel, tehát nem klónozza a függvényeket a tag-ekhez. És akinek meg a custom tag kell (az esetek nagyon kis százaléka), annak meg arra is van lehetősége. Meg például a .list() fgv-t különösen hasznosnak találtam sokszor.
[ Szerkesztve ]
http://flic.kr/ps/MuuJU | @gerhard_berger | https://github.com/gerhardberger
papa019
senior tag
Olyat lehet valahogy művelni, hogy Javascript function-ből hívok meg jQuery Ui Dialog-ot?
Jelenleg ott állok, hogy megrajzolom a polygont kattintásokkal és amikor belekattintok a közepébe, akkor a click listenert megszünteti > nem rajzolja tovább a polygont, illetve meghív egy függvényt, aminek átadja a polygon pontjait.
Na most én ebből a függvényből szeretnék meghívni valami felugró Dialogot, amit még te mutattál.
Ezt hogyan lehet véghezvinni?
Ide bemásoltam a kódot:
[link]
(A végén a new_place függvénytől kezdődik a lényeg, amire most rákérdezek.)
[ Szerkesztve ]
Sk8erPeter
nagyúr
Persze, hogy elő lehet csalogatni ilyen esetekre a jQuery UI Dialogot.
Beleraktam a demódba:
http://jsbin.com/uyevux/5/edit#javascript,html,live
Lásd az input_data() függvényt.
Amúgy még annyit csináltam, hogy a lap aljára, a HTML-kódba beleraktam ezt:
<div id="jquery-ui-dialog" title="Dialog" class="hidden">
<p></p>
</div>
Meg létrehoztam a .hidden class-t, CSS-ből ezt alapból elrejtem.
Aztán a jQuery UI Dialog inicializálása:
var $jquery_ui_dialog = $('#jquery-ui-dialog'), dialog_title = "My own map's dialog!";
$jquery_ui_dialog.dialog({ autoOpen: false });
$jquery_ui_dialog.dialog( "option", "title", dialog_title );
$jquery_ui_dialog.html('<p>I don\'t really know what to do with the "polygon_points" variable! :D</p>');
$jquery_ui_dialog.dialog('open');
Sk8erPeter
Sk8erPeter
nagyúr
"A jQuery természetesen ezt csinálja, mert nekik nem ez a lényeg, hogy minden tag-hez külön fgv. stb."
Ja, hanem az a célja, hogy lehetőleg a legtöbb tagre működjön, és ne kelljen a böngészőtől megkapni arra vonatkozó komplett listát, hogy milyen tageket támogat.
Persze ha összegyűjtöd szorgalmas munkával a tagek többségét, aztán belerakod egy array-be, hát oké.
Nekem olyan nagyon nem csúf a jQuery-s szintaktika, amit mutattam.
A tiédnél annyi a különbség, hogy valóban jobban "szétválik", bár pár karakternyi különbség van, tehát szerintem lényegében irreleváns.
Amúgy nyilván van haszna a pluginednek, félre ne értsd, most én nem akartam egy csöppet sem szembeállítani! Jelen esetben csak azt vizsgálgattuk, hogy vajon van-e értelme minden tagről komplett lista alapján létrehozni egy hozzá tartozó "függvényt".
Sk8erPeter
papa019
senior tag
Ha az alábbi függvénnyel hozzáadom a points változóhoz a sarokpontokat:
function addPoint(e) {
points = add_place.getPath();
points.push(e.latLng);
}
Akkor az alábbi függvénnyel miért csak a pontok sorszámát adja vissza? (0,1,2,3,4...stb.)
var additionalData = ' ';
$.each(points, function(val){
additionalData += val;
});
Hogy tudom kiszedni belőle a lat és lng paramétereket?
[ Szerkesztve ]
Karma
félisten
Mert a jQuery.each függvénynek nem olvastad el az interfészét elég alaposan. A callback első paramétere az index, második helyen jön a tényleges érték.
function(val) helyett legyen function(idx, val) és láss csodát
[ Szerkesztve ]
“All nothings are not equal.”
papa019
senior tag
Köszönöm.
De ha átírom így:
$.each(points, function(key,val){
additionalData += val;
});
Akkor meg nem ad vissza értéket ("undefined").
Sk8erPeter
nagyúr
Tedd bele a jsbines kódba, hogy mivel próbálkozol, és mentsd el, majd dobd be ide a linket, ne nekünk kelljen már kitalálni. Ott tudjuk debuggolni is.
Láttad a jQuery UI Dialogos megoldást? Mert arra nem igazán reagáltál...
Sk8erPeter
papa019
senior tag
Igen, igen láttam, de aztán rájöttem, hogy felhasználóbarátabb egy külön gombnyomásra menteni, mint a polygonra kattintással.
Az ajaxPost.php tartalma, bár ez sztem nem szükséges hozzá:
<?php
include 'config.php';
$name = $_POST['name'];
$description = $_POST['description'];
$address = $_POST['address'];
$wikipedia = $_POST['wikipedia'];
$points = $_POST['points'];
$DB->Query("INSERT INTO places(name,description,address,wikipedia,points) VALUES('$name','$description','$address','$wikipedia','$points')");
És annyit szeretnék, hogy a form adatait már serializáltam postolom a php-nak, be is teszem vele az adatbázisba, de a paraméterként kapott polygon-pontokat is ezzel együtt akarom küldeni és sehogysem tudom megoldani... Órák óta keresgélek a neten. Valami az each-el van, amikor ki akarom szedni a points változóból a pontokat...
Valamiért js-binen az egész nem megy, pedig nálam minden fut, csak nem tudom menteni a pontokat... :S
[ Szerkesztve ]
Sk8erPeter
nagyúr
"Valamiért js-binen az egész nem megy, pedig nálam minden fut, csak nem tudom menteni a pontokat... :S"
Őőőő, de remélem most nem várod, hogy a szerveroldali dolgok menjenek jsbinen...
"Igen, igen láttam, de aztán rájöttem, hogy felhasználóbarátabb egy külön gombnyomásra menteni, mint a polygonra kattintással."
És? Attól még confirm dialógust lehet nyitni jQuery UI Dialoggal is...
Abba meg olyan gombot raksz bele, amilyet szeretnél.
Én nem a szerveroldali kódra voltam kíváncsi, hanem hogy hogyan szeded össze, serializálod, és akarod elküldeni szerveroldalra. Ergo a kliensoldal az érdekes.
Amúgy ha már mellékelted a szerveroldali kódodat: SOHA ne pakolj adatbázis-query-be közvetlenül, escape-elés nélkül alapvetően megbízhatatlan, felhasználótól érkező, általa könnyen módosítható adatot. SOHA.
Sk8erPeter
papa019
senior tag
Ne haragudj kezdő vagyok, sosem írtam még semmilyen JS, jQuery és PHP kódot.
Nem vagyok hülye, hogy azt várjam, hogy szerver oldali kód fusson. Én a felugró ablakokra és a funkciókra gondoltam, hogy nekem nem mentek...
Elképzelésem nincs, hogy mit jelent az escapelés...
Tutorialok alapján próbálom összeeszkábálni a programot, nem tehetek róla, hogy szar az egész úgy, ahogy van...
Észre sem vettem, hogy a JSBint nem linkeltem be. [link]
[ Szerkesztve ]
Sk8erPeter
nagyúr
Nyugalom...
Amúgy én nem "haragszom". Hidd el, a Te érdekedben hívtam fel ezekre a figyelmet, nem azért, hogy csak azért is belédkössek. Fontos ezeket az elején megtanulni, hogy az ember később ne kövessen el nagy hibákat ezekből kifolyólag.
Ebből meg kihagytad az informacio függvényt, kapásból kidobja:
"Uncaught ReferenceError: informacio is not defined"
Ehhez kell:
// Listener a K épület polygonjára való kattintáshoz
google.maps.event.addListener(k_epulet, 'click', informacio);
[ Szerkesztve ]
Sk8erPeter
papa019
senior tag
Ne haragudj, feszült vagyok az utóbbi pár napban, mert domborítani kellene ezzel a progival és mint látod, nem igazán megy... :/
Van valami ötleted arra a hibára, amit írtam?
Hogy a Submit előtt a pontok kiszedésében mi lehet a hiba?
Illetve mondtad, hogy escapelni kell, vagy mit, ehhez tudsz valami linket küldeni? Akkor nekiülök és próbálom csinálgatni tovább.
papa019
senior tag
Megtaláltab a hibát:
Ciklussal nem lehet csak úgy kiszedni az adatokat, mert nem tömbben tárolódnak a pontok.
Az objektumra meghívott getAt(i) függvény visszaadja az i-edik pontot.
Sk8erPeter
nagyúr
Így van, de itt van is egy példa, a for ciklus a lényeg, ott épp használja a getAt() függvényt:
function showArrays(event) {
// Since this Polygon only has one path, we can call getPath()
// to return the MVCArray of LatLngs
var vertices = this.getPath();
var contentString = "<b>Bermuda Triangle Polygon</b><br />";
contentString += "Clicked Location: <br />" + event.latLng.lat() + "," + event.latLng.lng() + "<br />";
// Iterate over the vertices.
for (var i =0; i < vertices.length; i++) {
var xy = vertices.getAt(i);
contentString += "<br />" + "Coordinate: " + i + "<br />" + xy.lat() +"," + xy.lng();
}
// Replace our Info Window's content and position
infowindow.setContent(contentString);
infowindow.setPosition(event.latLng);
infowindow.open(map);
}
A leírás meg szintén ezt mondja:
"Polygon Arrays
A polygon specifies its series of coordinates as an array of arrays, where each array is of type MVCArray. Each "leaf" array is an array of LatLng coordinates specifying a single path. To retrieve these coordinates, call the Polygon's getPaths() method. Since the array is an MVCArray you will need to manipulate and inspect it using the following operations:
» getAt() returns the LatLng at a given zero-based index value.
» insertAt() inserts a passed LatLng at a given zero-based index value. Note that any existing coordinates at that index value are moved forward.
» removeAt() removes a LatLng at a given zero-based index value.
Note: you cannot simply retrieve the ith element of an array by using the syntax mvcArray[I]; you must use mvcArray.getAt(i)."
=============================
A PHP-s részre:
az escape-elésről és PDO-témáról nemrég diskuráltunk: [link], [link]
==
Mondjuk akkor esélyes, hogy ez is új lesz.
Látom valszeg valami adatbázis-wrappert használsz (bár esélyes, hogy nem használod ki a lehetőségeit), de nem látok bele a működésébe. A PDO használata indokolt lehet.
[ Szerkesztve ]
Sk8erPeter
papa019
senior tag
Köszönöm, majd ez alapján próbálom javítani a kódom.
Jelenleg ott állok, hogy a poligonok és hozzájuk az információk hozzáadása már működik ezzel az alapvető és egyáltalán nem hibakezelt módszerrel, számomra már ez elég nagy előrelépés...
Ez a jQuery meg egy csoda.
Sk8erPeter
nagyúr
Hát nagyon komoly dolgokat lehet vele csinálni viszonylag egyszerűen, az biztos.
Amúgy nincs mit, majd szólj itt a topicban, ha valami nem megy!
[ Szerkesztve ]
Sk8erPeter
Dave-11
tag
Sziasztok! El szeretnék kezdeni Javascriptet tanulni, mert HTML + CSS már megy, PHP-val is elég jól állok már, és kicsit bővíteni szeretném a tudásomat, hogy majd egy magasabb szintű honlapot is el tudjak készíteni.
Nem akarom lekicsinyíteni a Javascriptet, de ahogy így nézegettem egész könnyűnek, legalábbis nem túl nehéznek tűnik, de javítsatok ki ha tévedek Nektek mi a véleményetek róla? Mi a legjobb dolog, amit már eddig elkészítettetek vele? Illetve általában mire használják?
:D Semmi :D
Sk8erPeter
nagyúr
Feladatfüggő, hogy mennyire könnyű vagy nehéz...
Ha egy DOM-ban lévő elem háttérszínét akarod megváltoztatni, az tipikusan az elég egyszerű feladatok közé tartozik...
"általában mire használják?"
Általában kliensoldali programozásra.
Leggyakoribb felhasználási területe a weboldal megjelenítésének és működésének felhasználóbarátabbá tétele kliensoldali kódokkal, formvalidálás, elemek elrejtése-megjelenítése, stb. Plusz AJAX-ozás, táblázatok legenerálása, stb. Aztán lehet bonyolítani.
Most csak nagyon röviden, leegyszerűsítve.
[ Szerkesztve ]
Sk8erPeter
Mai Hardverapró hirdetések
prémium kategóriában
- Új Lenovo ideapad 5 Pro Prémium Ultrabook 14" -30% Bivaly Ryzen 5 5600U 6Magos 8GB 512GB QHD+ 2,8K
- iPhone 13, 128GB, starlight, kártyafüggetlen, 88% akku
- Tyű-ha Lenovo Thinkpad T15 "Golyóálló" Üzleti Laptop 15,6" -50% i7-10510U 4Mag 32GB/512GB FHD IPS
- Új 2K AM5 Gamer PC R5 7600/RTX 3070 8Gb/2X8Gb 6000Mhz DDR5/500Gb SSD M2/700W 2Év gari
- Ryzen PC , R5 2600 , RTX 3060 12GB , 16GB DDR4 , 256GB NVME , 500GB HDD