- Luck Dragon: Asszociációs játék. :)
- perge666: Anbernic kézikonzolok
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- bambano: Bambanő háza tája
- Mr Dini: Mindent a StreamSharkról!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- hcl: MS Office365 Linuxon
- sziku69: Fűzzük össze a szavakat :)
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Dave-11 #2599 üzenetére
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. -
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évedekNektek 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?
-
papa019
senior tag
válasz
Sk8erPeter #2596 üzenetére
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
válasz
papa019 #2595 üzenetére
Í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. -
papa019
senior tag
válasz
Sk8erPeter #2593 üzenetére
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.
-
Sk8erPeter
nagyúr
válasz
papa019 #2592 üzenetére
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); -
papa019
senior tag
válasz
Sk8erPeter #2591 üzenetére
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]
-
Sk8erPeter
nagyúr
válasz
papa019 #2590 üzenetére
"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.
-
papa019
senior tag
válasz
Sk8erPeter #2589 üzenetére
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
-
papa019
senior tag
válasz
Sk8erPeter #2584 üzenetére
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?
-
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
nagyúr
válasz
papa019 #2583 üzenetére
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'); -
papa019
senior tag
válasz
Sk8erPeter #2560 üzenetére
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.)
-
v2izzy
tag
válasz
Sk8erPeter #2581 üzenetére
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.
-
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.
-
v2izzy
tag
válasz
Sk8erPeter #2579 üzenetére
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.
-
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. -
Forza_JUVE
aktív tag
válasz
Sk8erPeter #2569 üzenetére
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.
-
Karma
félisten
-
v2izzy
tag
válasz
Sk8erPeter #2574 üzenetére
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!
-
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
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? -
v2izzy
tag
válasz
Sk8erPeter #2572 üzenetére
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.
-
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)?
-
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?
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #2565 üzenetére
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. -
Forza_JUVE
aktív tag
válasz
Peter Kiss #2567 üzenetére
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.
-
Peter Kiss
őstag
válasz
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).
-
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.
-
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!!!
-
papa019
senior tag
válasz
Sk8erPeter #2562 üzenetére
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.
-
papa019
senior tag
válasz
Sk8erPeter #2560 üzenetére
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
válasz
papa019 #2559 üzenetére
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....
-
papa019
senior tag
válasz
Sk8erPeter #2558 üzenetére
Köszönöm, majd valahogy nekiállok, így első látásra nem lesz egyszerű.
-
papa019
senior tag
válasz
Sk8erPeter #2556 üzenetére
Az egyértelmű volt, hogy szerver oldali programozás kell.
Csak gondoltam megkérdezem, hogy mit érdemes használni. -
Sk8erPeter
nagyúr
válasz
papa019 #2555 üzenetére
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.
-
papa019
senior tag
válasz
Coconut's #2554 üzenetére
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ázisbaEhhez mit érdemes használni a JavaScript mellett?
Milyen adatbázist érdemes használni?
Tud esetleg valaki ehhez hasznos tutorialt?Üdv.: Papa
-
Coconut's
csendes tag
válasz
Sk8erPeter #2553 üzenetére
Rendben köszönöm
-
Coconut's
csendes tag
válasz
Sk8erPeter #2551 üzenetére
Ó köszönöm szépen a segítséget!
-
Sk8erPeter
nagyúr
válasz
Coconut's #2550 üzenetére
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.
-
Coconut's
csendes tag
válasz
Sk8erPeter #2549 üzenetére
Átalakítottam, de nem jó így sem sajnos:
document.onkeydown = checkKeycode;
function checkKeycode(e)
{
var keycode;
if (window.event){
keycode = window.event.keyCode;
}
else if (e) {
keycode = e.which;
}
if(keycode == '38')
{
megy(1);
}else if(keycode == '40')
{
megy(2);
}else if(keycode == '39')
{
megy(4);
}else if(keycode == '37')
{
megy(3);
}
return false;
} -
Sk8erPeter
nagyúr
válasz
Coconut's #2548 üzenetére
Érted is, amit írsz?
document.onkeydown = checkKeycode;
Itt beállítod az onkeydown eseményre a checkKeycode függvényt, de ahogy elnézem, nincs is ilyen függvényed.
Akkor ez eleve hiba.Ezenkívül:
else if (e) {
keycode = e.which;
}
itt honnan kéne megkapnia az eventet? Ha ezt épp az előbb említett, hiányzó függvényben csinálnád, úgy, hogy a függvény paramétere az event (e) lenne, akkor még érteném.Ha érdekel, épp nemrég írtam példát billentyű-lenyomások figyelésére:
[link] -
Coconut's
csendes tag
Tiszteletem! Lenne egy kérdésem, billentyű lenyomásokkal(csak a fel le jobbra balra nyilakat használom) szeretnék meghívni function-öket. A kódom így néz ki:
// Billentyűkkel mozgatás
document.onkeydown = checkKeycode;
var keycode;
if (window.event){
keycode = window.event.keyCode;
}
else if (e) {
keycode = e.which;
}
if(keycode == '38')
{
megy(1);
}else if(keycode == '40')
{
megy(2);
}else if(keycode == '39')
{
megy(4);
}else if(keycode == '37')
{
megy(3);
}A kérdésem az lenne, hogy mi ebben a probléma, mert alert-el szépen kiírja a keycode-ot.
Előre is köszönöm!
-
Sk8erPeter
nagyúr
válasz
papa019 #2546 üzenetére
Egymásba ágyazott ciklusokkal.
Tehát jelen esetben egy each-en belüli each-csel. Tulajdonképpen megcsinálhatod for ciklussal is, de az each egy egész egyszerű iterátor.
Remélem jól értettem, amit szerettél volna, és a polygonokat szeretted volna még bejárni.
Megcsináltam ezt a módosítást is, nézd meg az each-nél lévő részt:
http://jsfiddle.net/Sk8erPeter/kVFb2/1/
Így már természetesen jóval hosszabb infókat ír ki. -
papa019
senior tag
válasz
Sk8erPeter #2545 üzenetére
Köszönöm.
Még egy kérdés és remélem már nem keveredek bele.
Akárhogy próbálok valami for ciklushoz hasonló dolgot összehozni az each segítségével, nem tudok rájönni, hogy miként tudom kiolvasni az API által adott összes pontot és nem csak a 0.-at és az 1.-t.
Ebben tudnál segíteni? -
Sk8erPeter
nagyúr
válasz
papa019 #2544 üzenetére
1.) Megkukkantottam egy példakódot az Info Windows-ra: [link]
2.) Globálissá tettem az infowindow és marker változót (lásd az elején).
3.) Beraktam a megfelelő tartalmat a lista után:list_html =
$('<ul/>', {
'id' : 'my-location-list',
'class': 'my-new-list',
html: items.join('')
});
$('#location_data').html(list_html.html());
infowindow = new google.maps.InfoWindow({
content: list_html.html()
});
infowindow.open(map, marker);Nyilván az infowindow rész a lényeg.
4.) Kész: [link]. Kattints a gombra a teszteléshez, akkor felugrik az infowindow.
Ugyanez jsFiddle-re felrakva, ott JSLinttel validálva: http://jsfiddle.net/Sk8erPeter/kVFb2/
Persze nem egy gyönyörű kód, de jó az vidékre. -
papa019
senior tag
válasz
Sk8erPeter #2467 üzenetére
Ha a listát, amit a jQuery-vel előállítasz be akarom tenni mondjuk a k_epuletre kattintáskor felugró buborékba (infowindow), akkor ezt hogyan tudom megcsinálni?
Elég régóta ezzel szenvedek, de egyszerűen nem jövök rá. -
Sk8erPeter
nagyúr
válasz
Speeedfire #2542 üzenetére
Ez nem bug, ez feature!!
-
Speeedfire
félisten
válasz
Sk8erPeter #2541 üzenetére
Ja, egy bugos online szerkesztőre.
Amúgy nem rossz, mert így segítségkérésnél tényleg jobb. -
Sk8erPeter
nagyúr
válasz
Coconut's #2540 üzenetére
Szívesen! Ha valamelyik rész nem tiszta, van valami kérdésed ezzel kapcsolatban, akkor nyugodtan tedd fel!
(#2539) Jim-Y : no para, nincs mit.
Az pedig, hogy segítettél, nagyon is értékelendő.
Amúgy a HTML-kód valamilyen szintű validitásával azért érdemes foglalkozni, mert megjelenítésbeli problémákat okozhat, ha durva hibák vannak a szintaktikában, meg a különböző böngészőkre történő hekkelések szükségességével bonyolíthatja a munkánkat.(#2538) Speeedfire : külön öröm, ha sikerült rászoktatnom valami jóra.
-
Coconut's
csendes tag
válasz
Sk8erPeter #2535 üzenetére
Köszönöm szépen! Átnézem és betanulom/megértem
-
Jim-Y
veterán
válasz
Sk8erPeter #2536 üzenetére
Szia!
1: ne haragudj én úgy emlékeztem, hogy válaszoltam
kipróbáltam és működött, köszi szépen, egyébként akkor már nem volt rá szükség, de tanulságos volt a DOM miatt, ma hasznát is vettem
2: a HTML kódba nem írtam bele, azt 1-1ben copyztam a kérdezőtől, csak kitöröltem belőle 1-2 részt az olvashatóság miatt, plusz az is igaz, hogy azzal mostanában nem nagyon foglalkozok, hogy a html az valid-e vagy sem:S
3* legalább értékelnéd, hogy segíteni tudtam neki
-
Speeedfire
félisten
válasz
Sk8erPeter #2537 üzenetére
Hát, használom mert rászoktattál.
Na, akkor legközelebb commentelni kell rendesen a végén. -
Sk8erPeter
nagyúr
válasz
Speeedfire #2511 üzenetére
Közben találtam kerülő "megoldást" (bár ez túlzás, h megoldás), az itt linkelt kódban két sor csillag kommentet tettem a végére, így azt tudom, hogy azt már felesleges másolni, nyugodtan törölhető, így nem kerül az a fos karakter sem a végére.
Viszont tanulságos, ezért neked is mondom, mert Te is szoktad használni a jsFiddle-t, hogy van bal oldalt az az első select lista, ahol ott van, h "no wrap (head)", "no wrap (body)", "onDomReady", "onLoad", na ott általában az defaultként "onLoad"-ra van állítva.
Ez nem mindig jó: pl. én nem értettem, mi a büdös francért nem működik a fentebb linkelt kód, ha ez erre van állítva, és én a window.onload-ra kötöm a betöltéskor lefuttatandó kódjaimat. Átállítottam "no wrap (head)"-re, és már jó volt... Csak ezzel szarakodtam jó ideig, mert azt hittem, a kódban csesztem el valamit. jsbinen ilyen beállítási lehetőség nincs, úgyhogy ott megy egyből. ("néha a kevesebb több")
-
Sk8erPeter
nagyúr
Jim-Y: láttad, amit írtam neked? Csak mert tudod illik reagálni, ha mások foglalkoznak az ember problémájával.
(#2532) Jim-Y : ez a HTML-kód igen erősen invalid.
Nézd át még egyszer.
-
Jim-Y
veterán
Ugyanez jqueryvel
html:
<input type="text" id="kijelzo"/>
<input type="button" value="1"></div>
<input type="button" value="2"></div>
<input type="button" value="3"></div>javascript:
$(document).ready(function() {
$(":button").click(function (){
var value = $("#kijelzo").val();
value+=$(this).val();
$("#kijelzo").val(value);
});
}); -
Jim-Y
veterán
válasz
SektorFlop #2529 üzenetére
Próbáld így:
<input type="text" id="kijelzo"/>
<div style="display:inline-table"><input type="button" value="1" id="egy" onClick="beutes(this)"></div>
<div style="display:inline-table"><input type="button" value="2" id="ketto" onClick="beutes(this)"></div>
<div style="display:inline-table"><input type="button" value="3" id="harom" onClick="beutes(this)"></div>function beutes(id){
document.getElementById("kijelzo").value+=id.value;
} -
Speeedfire
félisten
válasz
SektorFlop #2529 üzenetére
Írja is, hogy az id nincs definiálva ami érthető is.
var gomb = document.getElementById(id);
Tehát itt nincs megadva neki, hogy melyik id kellene. Azt, hogy itt most mi is kellene neked...gondolom a buttonnál kellene visszadni az id-t. Tehát paraméterrel indítani. De azt nem tudom, hogy lehetne így visszaadni, csak jQuery-vel.
function beutes(id){
var kijelzo = document.getElementById("kijelzo");
var gomb = document.getElementById(id);
kijelzo.value = kijelzo.value + gomb.value;
} -
SektorFlop
aktív tag
egy nagyon egyszerű példám lenne... valaki esetleg megtudja mondani mi lehet a baj?
function beutes(){
var kijelzo = document.getElementById("kijelzo");
var gomb = document.getElementById(id);
kijelzo.value = kijelzo.value + gomb.value;
}egy kis html rész hozzá:
<input type="text" id="kijelzo"/>
<div style="display:inline-table"><input type="button" value="1" id="egy" onClick="beutes()"></div>
<div style="display:inline-table"><input type="button" value="2" id="ketto" onClick="beutes()"></div>
<div style="display:inline-table"><input type="button" value="3" id="harom" onClick="beutes()"></div>azt szeretném, hogy a text mezőbe másolja mellé az aktuális számhoz a kívánt számot.
hibaüzenetnek ezt írja:
Uncaught ReferenceError: id is not defined
beutesindex.html:31
(anonymous function)index.html:54
onclick -
Jim-Y
veterán
válasz
Speeedfire #2526 üzenetére
Na közben beszereztem egy XAMPP-t, úgy néz ki ezzel tudok majd tesztelin, köszi
-
Jim-Y
veterán
válasz
Speeedfire #2524 üzenetére
Ha böngészővel nyitom meg, akkor kiírja a tartalmát, nem csak a szöveget... mitől lehet ez?
akkor ez most noob kérdés lesz, és kiröhögni is ki lehet, de most ahhoz, hogy egy szimpla php kódot futtatni tudja kell keretrendszer?
nincs fennt semmi, csak csináltam a kódom mellé egy .php-t, gondoltam ez is olyan mint a javascript, hogy pl a böngésző fordítja... jó, akkor kérdés:hogy tudok úgy php kódot írni/futtatni, hogy ne kelljen se php-t, se szervert feltenni, nem tudok ugyanis..nem ottthon vagyok:/
-
Jim-Y
veterán
Miért van az, hogy egy ilyen kód
$(document).ready(function (){
$('#btn').click(function() {
$.ajax({
url: 'myphp.php',
success: function(response) {
alert(response);
},
error: function(xhr) {
alert('Error! Status = ' + xhr.status);
}
});
});
});egy ilyen php file esetén
<?php
$response="abrakadabra";
echo $response;
?>nem csak egy stringet ad vissza, hanem szó szerint az egész filet.. ezt:
<?php
$response="abrakadabra";
echo $response;
?> -
SektorFlop
aktív tag
válasz
Sk8erPeter #2512 üzenetére
hát úgy döntöttem hogy a displayName-t íratom ki... annak null értéke van ha nem tartalmaz semmit, és ugyan az mint a name.
for (var index = 0; index < contacts.length; index++) {
try {
var name = contacts[index].name.formatted,
li = document.createElement('li'),
displayName = contacts[index].displayName;
try {
if (isset(contacts[index].phoneNumbers)) {
var phoneNumbers = contacts[index].phoneNumbers;
}
if (isset(phoneNumbers[0].value)) {
var phoneNumber_first = phoneNumbers[0].value;
}
} catch (e) {
alert('problem with phoneNumber...');
}
if(displayName!=null){
if (isset(phoneNumber_first)) {
li.innerHTML = "<a href=\"tell://" + phoneNumbers + "\> displayName: " + displayName + ";</a>";
ul.appendChild(li);
} else {
li.innerHTML = "displayName: " + displayName + ";";
ul.appendChild(li);
}
}
} catch (e) {
alert(e);
}
}De most már tovább állok ezzel a témával, egyenlőre ez a megoldás megteszi nekem... még lehetne rajta mit finomítani, esetleg ha majd használom valamikor a contacts-ot.
-
v2izzy
tag
Írtam egy kis modult, amivel lehet egyenlőségeket vizsgálni, és lehet készíteni saját kiértékelést is: [link]
Nem tudom mennyire van értelme, majd meglátom mennyire érzem szükségét további programokban, de akit érdekel megnézheti! -
Coconut's
csendes tag
válasz
Sk8erPeter #2518 üzenetére
Sziasztok, lenne még egy kérdésem. A setTimeout vagy setInterval függvényekkel hogyan ismételtessek olyat, aminek van átadott értéke? Tehát ha van egy fv(i), azt hogyan ismételtessem 1 másodpercenként? Mert ha csak beírom, hogy setTimeout("fv(i)", 1000); akkor i is not defined..
Alert-el kiírattam közvetlenül előtte az i-t és jó értéket adott, de a setTimeout nem veszi át az i-t.. Próbáltam úgy, hogy az i értékét átadtam egy másik változónak, majd így hívtam meg az fv()-t(fv(másik változó)), de akkor meg duplázza magát, és 2szeresen hajtja végre az utasításokat, esetemben 1 képet átugrik és a 2-vel arrébb lévőt cseréli ki..
Nagyon köszi előre is a segítséget!
-
Sk8erPeter
nagyúr
Majdnem jó, ahogy Speeedfire írta, eggyel még feljebb kellett volna menned.
Ez jó, ezt kipróbáltam, úgy, hogy szűkítettem a p-ket még az url class-szel rendelkezőkre:
$("img").click(function (){
var p = $(this).parent().parent().find("p.url").text();
alert(p);
});Felraktam neked ide egy példát róla:
http://jsbin.com/ujiruc/edit#javascript,html,liveMásik megoldás röviden a .closest() használata:
http://jsbin.com/ujiruc/2/edit#javascript,html,live
Ez felfelé rohangászik a DOM-fában, úgy próbálja megtalálni a selectornak megfelelő elem(ek)et. -
Jim-Y
veterán
Nah, a ma délutáni gyakorlásom eredménye egy kis kieg, ami nem csinál túl sokat, de legalább gyakoroltam közben
Működése:
lenyitom az abalakot, szinte egy üres képernyő fogad, inputnak beírhatok egy query-t, majd a gombra nyomva
1: elindít egy goog dorkos keresést
2: elmenti egy listábaFasza mi?
haszna: ha valaki sokat használ ugyan olyan google search query-ket akkor azokat el tudja menteni, majd 1 klikkel újra tud keresni. Mikor jöhet ez jól? Hát például, ha valaki sokat piacozik, akkor pl egy ilyen query-t elment:
"site:hardverapro.hu gtx680 eladó új -"lejárt hírdetés" -"jegelve"" na most ezt mindig beírni rossz dolog, tádám itt jön képbe az extension
-
Jim-Y
veterán
válasz
Speeedfire #2515 üzenetére
Na ilyet én is csináltam, csak:
var p = $(this).parent().parent().find("p").text(); és ez nem ment, ha a tiéd megy az lol, és ennyin múlik
Amugy nem mukodik
-
Jim-Y
veterán
Sziasztok, $jquery:
Egy olyan kérdésem lenne, hogy van egy ilyen szerkezetem:
csak a <tr id="row1"> .. </tr> -t kell nézni.
Na most jqueryvel figyelem a képekre való klikkelést, ha ráklikkelek, akkor el szeretném érni a <p class="url"> taget. Ebben kérnék segítséget, hogy jqueryvel milyen dom utasítással érem el az img tagből a fölötte lévő p taget. Remélem érthető.
Valami ilyesmire gondolok, de persze ez nem jó:/:
$(".img").click(function (){
var p = $(this).parent().find("p").text();
}); -
Sk8erPeter
nagyúr
válasz
SektorFlop #2508 üzenetére
Rövid példával élve lehet másképp is ellenőrizni:
contacts = [{name:'Pete', asd: 'asd'}, {asd: 'asd'}];
for(var index = 0; index<contacts.length;index++){
alert(contacts[index]['name']);
}
Itt látható, hogy a második cikluslépésben "undefined"-ot dob fel.Szóval próbáld így, mert így nem dob exceptiont:
var name = contacts[index]['name'];
if(!name){
name = 'Unknown name';
}
else{
name = contacts[index]['name']['formatted'];
}Remélem így jó. Lehetne ugyanilyen módon a phoneNumberre is csekkolni.
-
Speeedfire
félisten
válasz
Sk8erPeter #2510 üzenetére
Jól van, akkor ez csak nekem volt új.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #2509 üzenetére
Stack Overflow-n meg is van a válasz: [link].
"Some kind of encoding error..." -
Speeedfire
félisten
válasz
Sk8erPeter #2507 üzenetére
Lehet a lopás miatt? Vagy valami védelem?
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2502 üzenetére
Nah okés! most már csak ki kell szűrni hogy csak azokat írja ki akiknek van name paramétere. Nem tudom mikor lesz rá időm... majd megírom hogy sikerült e összehozni.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #2506 üzenetére
Na, legalább már tudjuk, milyen karaktert tol bele.
De ez jsFiddle-nél következetesen így van sajnos. -
Speeedfire
félisten
válasz
Sk8erPeter #2502 üzenetére
És tényleg... TC F3-> });​
Ilyen egy...áhh. -
Coconut's
csendes tag
válasz
Sk8erPeter #2503 üzenetére
Köszönöm! Először használom a random() függvényt, de így utólag belegondolva értem már, mi volt a baj, és miért jó így.
Még egyszer köszönöm!
-
Sk8erPeter
nagyúr
válasz
Coconut's #2501 üzenetére
Az elején egy randomszámot generálsz, megszorzod kettővel, majd hozzáadsz egyet. Miért feltételezed, hogy ez feltétlenül 1 vagy 2?
Pl. most nálam épp 2.596422648523003 jött ki...Ha azt szeretnéd, hogy ez valaha igaz legyen, akkor használd pl. a Math.floor() függvényt, pl. így:
Math.floor( ((Math.random() * 2) + 1) )
Azért javasoltam a Math.floor()-t, mert a Math.round() kerekítés egy felkerekítés esetén még 3 is lehet akár (lásd az előbbi számot). -
Sk8erPeter
nagyúr
válasz
Speeedfire #2500 üzenetére
Igen, azért van ez, mert a jsFiddle-ről közvetlenül kimásolva a kódok elb@szódnak, egyelőre nem jöttem rá, milyen karaktert tesz a kódokba, de nálam is így van.
A trükk pedig az, hogy a kódok legeslegvégét töröld ki (általában elég akár a legvégén lévő }); kitörlése is), és kézzel írd vissza!(#2496) SektorFlop : jaja, gondoltam, hogy a phoneNumberrel van baj. Akkor majd írj, mire jutottál.
-
Coconut's
csendes tag
Sziasztok, valaki esetleg nem tudja, miért mindíg az else ág hajtódik végre az alábbi, random szám (1 vagy 2) generálása után?
ses = ((Math.random()*2)+1)
ses2 = ((Math.random()*2)+1)
if (ses == 1 && ses2 == 1) {
se1--;
} else if (ses == 2 && ses2 == 2){
se1++;
} else if(ses == 1 && ses2 == 2)
{
se2--;
} else if(ses == 2 && ses2 == 1)
{
se2++;
}else
{
alert("az elsőnek az else ága hajtódott végre.");
}Köszi előre is!
Új hozzászólás Aktív témák
Hirdetés
- Samsung Tab S9 FE 5G 128GB Csak kipróbált! Jótállás: 2026.11.17.-ig
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
- Samsung Galaxy Tab S6 Lite / 4GB RAM 64GB / Független / 12 Hó Garancia
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
Állásajánlatok
Cég: FOTC
Város: Budapest