Hirdetés
- Samsung Galaxy A57 - kecses test, lusta lélek
- Apple iPhone 17 Pro Max – fennsík
- Apple iPhone 17 - alap
- iPhone topik
- Xiaomi 13 - felnőni nehéz
- Xiaomi 15 - kicsi telefon nagy energiával
- Fotók, videók mobillal
- Xiaomi 17 - még mindig tart
- Vivo X200 Pro - a kétszázát!
- Samsung Galaxy A26 - csak a szokásos
Új hozzászólás Aktív témák
-
Speeedfire
félisten
válasz
Sk8erPeter
#1599
üzenetére
A pedig a rossz find-es példában nekem simán rárakta a bottomtop-ra.

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1598
üzenetére
Nem, az elsőre sem működik.
Próbáld ki itt például így:$('input[title]', 'textarea[title]').addClass('asdasd');
alert($('input[title]').attr('class'));NEM fog működni (undefined-ot ad), mert hibás.
Ne akard a jQuery-t úgy használni, ahogy nem lehet.![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Speeedfire
félisten
válasz
Sk8erPeter
#1597
üzenetére
Tényleg, csak az első találatot veszi figyelembe, a többit nem.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1594
üzenetére
"De a 2 külön sztring is megy amúgy."
Ebben biztos vagy?
http://api.jquery.com/jQuery/
Mert én nem hiszem.
Most próbáltam, és nem működik. -
Speeedfire
félisten
válasz
Sk8erPeter
#1595
üzenetére
Nem csak akkor. $('body').tooltip();-nél is ez volt.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Nézegettem már őket, de én semmi title részt nem láttam.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1594
üzenetére
Szívesen.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Hát fogalmam sincs, korábban miért volt a social gomboknál ilyen para, és gondolom csak akkor fordult elő, amikor a $(document).tooltip();-et használtad. Sosem debuggoltam ezeknek a social gomboknak a megjelenését, hogy hogyan működnek, lehet, hogy úgy többet tudnék mondani a dologról. Meg azt is tudni kéne, pontosan a $(document).tooltip(); hogyan működik (bár én úgy tudtam, az is csak a [title] attribútumok meglétére keres, de lehet, hogy a Fácsé-ikonoknál is van valami title a háttérben a betöltődéskor, azt is buzerálja, nem vágom; bár első ránézésre nincs title).
-
Speeedfire
félisten
válasz
Sk8erPeter
#1593
üzenetére
Uhhh, lol. Tényleg. Nem is értem miért volt ott find.

De a 2 külön sztring is megy amúgy.Érdekes, hogy csak ezzel a [title] attribútummal már nincs a social gomboknál tooltip. Akkor eddig honnan vette az UI ezt?

Így viszont már könnyebb a többit kizárni. Ez a title sokat segített most.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1592
üzenetére
$('body').find('#bottomtop', '#socialsshare').addClass('tooltip-excluded');
Őőőő... miért művelsz Te ilyet?

Egyrészt: minek itt a find()?
Másrészt: nem kell két külön stringbe rakni, tudtommal ez így nem fog működni, csak egy stringként.Tehát helyette:
$('#bottomtop, #socialsshare').addClass('tooltip-excluded');
A másik:
$('*').not('.tooltip-excluded')helyette akkor már:
$('[title]').not('.tooltip-excluded')Tehát csak arra lesz érvényes, aminél van title attribútum.
Ezenkívül ugye nem kell mondani, hogy mindig sokat segít egy jsFiddle- vagy jsbin-példa?
-
Speeedfire
félisten
válasz
Speeedfire
#1591
üzenetére
Még mindig nem jöttem rá a megfelelő megoldásra.

Sk8erPeter ötletéből efelé vettem az irányt, de még mindig nem megy. Minden elemet meg nem szeretnék felsorolni, aminek kell tooltip.$('body').find('#bottomtop', '#socialsshare').addClass('tooltip-excluded');
$('*').not('.tooltip-excluded').tooltip({
show: {
effect: "fadeIn"
},
hide: {
effect: "fade"
},
tooltipClass: "uitooltip",
track: true
}); -
Speeedfire
félisten
válasz
Sk8erPeter
#1590
üzenetére
Hát, a socail tooltip egy külön faj úgy néz ki. Semmi title attributumja nincs egyik elemének se, mégis van rá tooltip.

Holnap kitalálok rá valami megoldást, lehet valami each() lesz végül a befutó. -
Sk8erPeter
nagyúr
válasz
Speeedfire
#1589
üzenetére
Ha most is alkalmazódik rá a tooltip, akkor miért ne lenne jó?
-
Speeedfire
félisten
válasz
Sk8erPeter
#1588
üzenetére
Ezt megpróbálom, nem tudom hogy fog menni a social gomboknál. Ugye azt csak később rakja bele a rendszer.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1587
üzenetére
Sztem ennél egyszerűbben nehéz megoldani:
http://jsfiddle.net/Sk8erPeter/Y4cUL/2/
Lényeg, hogy megadtam a tooltip-excluded-parent osztályt a kizárandó elemek szülőelemének, aztán ezeken belül kerestem a megfelelő selectorokra, hozzáadtam a tooltip-excluded osztályt, és aztán a végén ezt az osztályt zártam csak ki a .not()-tal.
-
Speeedfire
félisten
válasz
Sk8erPeter
#1586
üzenetére
Olyat meg lehet adni, hogy egy adott elem és az összes gyermeke ne legyen benne a kijelölésben?
Pl itt hiába adom meg a kitételt a not-ban, a gyermekekre attól még alkalmazza. A jobb oldali top és a social gombok az érdekesek itt.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1585
üzenetére
Mivel épp erre való a .not()...

Felraktam neked ide egy példát, ahol nem a $(document)-re kötöm, hanem leszűkítem:
http://jsfiddle.net/Sk8erPeter/Y4cUL/ -
Speeedfire
félisten
válasz
Sk8erPeter
#1584
üzenetére
Hát, akkor hogy konkretizáljam is.

A jQuery UI tooltip függvényt akarom minden egyes elemre használni, viszont van elem amire nem szeretném. Konkrétan pl a socail gombok, top gomb. Itt be szokott bug-zani a tooltip. Van, hogy ott marad a tooltip egy esemény hatására.
Pl a top gomb is, effektelve van. Így amikor rányomok és szépen kúszik felfelé az oldal ez a fránya tooltip elég bután megy vele együtt.
De szerintem ez talán menni fog. Annyi, hogy nem lesz tömb, hanem egyből a not-ba rakom ezeket az elemeket.
$("div").not(".green, #blueone")
.css("border-color", "red"); -
Sk8erPeter
nagyúr
válasz
Speeedfire
#1583
üzenetére
.not(array)
Ez így nem értelmes.Ha típust akarsz nézni:
jQuery.type(['#egy', '#ketto', '#harom']) == 'array'
=> trueDe szerintem te nem ezt akarod.
Megpróbálom értelmezni, amit szeretnél: az egész dokumentum minden nyomorék elemén végrehajtani valami számunkra ismeretlen függvényt, de ebbe kivételt is belerakni.
Nem nyakatekert ez egy kissé? Meg nem kicsit erőforrásigényes, ha minden elemen végig akarsz iterálni.
Szóval mit akarsz igazából?Aminek még van értelme: több selectort alkalmazni, de akkor meg string kell neked. A hivatalos oldalon elég közérthető példa van:
$("div").not(".green, #blueone")
.css("border-color", "red");Viszont ez sem az, amit akarsz, mivel ha jól értem, te a tömbödben lévő selectorokat úgy akarod kivételként alkalmazni, hogy amelyeket tartalmaz a dokumentum, azokra ne vonatkozzon valami szabály; míg ez az előbbi példa csak konkrétan azokat a diveket szűri ki, tehát azokra nem alkalmazza a szabályt, amiknél meg van adva a ".green" class, vagy amelyik a "#blueone" azonosítóval rendelkezik.
-
Speeedfire
félisten
A .not kitételt lehet valahogy alkalmazni ilyen esetben, úgy hogy egy tömböt kellene nézni.
$(document).fuggveny();
//helyett valami ilyesmi
var array = ['#egy', '#ketto', '#harom'];
$(document).not(array).fuggveny(); -
martonx
veterán
válasz
Sk8erPeter
#1580
üzenetére
igen, ez az általános szabvány dátumoknál.
-
martonx
veterán
válasz
Sk8erPeter
#1578
üzenetére
Így van, de mint mondtam ISO formátumra van felülbírálva a Datepicker dátum formátuma. Ezt a formátumot meg alapból szereti a js is, meg a szerver oldal is.
-
Sk8erPeter
nagyúr
válasz
martonx
#1577
üzenetére
"Mondjuk a datepicker globalizálva van, azaz mindenkivel a saját nyelvén kommunikál, csak a végeredmény dátum ISO formátumú."
De a végeredmény mitől lenne szabványos?
Ki is próbáltam, a Datepicker pontosan úgy postolja el a dátumot, amilyen formátumban az adott nyelven be van állítva; vagy amilyen módon felül van bírálva.Default formátumként ilyen:
'11/20/2012'
Ha a { dateFormat: "yy-mm-dd" } opcióval inicializálom, akkor értelemszerűen ilyen formátum megy el szerveroldalra:
'2012-11-20'Tehát kliens- és szerveroldalon egyaránt problémát jelenthet a dátumvalidáció (nyilván). Úgy értem, a plusz lépcsőfokot a Datepicker sem szedi ki, ugyanarra a formátumra kell állítani a kliens- és szerveroldali dátumvalidálást is, nem alakítja át a plugin a form submitolása előtt szabványos formátumúra.
-
martonx
veterán
válasz
Sk8erPeter
#1576
üzenetére
Mert az lenne a legszebb, ha mindenki a kultúrájának megfelelő dátum formátumon kommunikálhatna. Mondjuk a datepicker globalizálva van, azaz mindenkivel a saját nyelvén kommunikál, csak a végeredmény dátum ISO formátumú.
-
martonx
veterán
válasz
Sk8erPeter
#1574
üzenetére
Datepicker-nél is csúnya vagy nem, de ISO dátum formátumot használok (yyy-mm-dd), noha az oldal több nyelvű. Még csak az hiányzik, hogy 12 kultúra dátum formátumát ismerjem fel, és kezeljem le szépen. Ennyire nem fizetik meg a cuccot
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Sk8erPeter
nagyúr
válasz
martonx
#1573
üzenetére
Ja, hát ez a dátumkérdés adatbázisoknál (SQL) is gázos.
Ha aktívan használnám épp a validate plugint, biztos írnék a fejlesztőnek, de mivel most nem használom, kisebb bajom is nagyobb annál, minthogy ezzel foglalkozzak, de szívesen átengedem másnak a bug jelentésének terepét.
"Mert félreértés ne essék, amiket az unobtrusive megoldásomban használok, egytől egyig (kivéve persze a saját metódusaimat) az alap jquery validate plugin beépített validálási szabályai."
Ja, persze, ez tiszta, remélem nem gondoltad azt, hogy most a Te kódodat fikázom.
Csak feltűnt a tesztelés során, hogy a dátum elvárt formátumára nincs teljes körű validálás.
Mondjuk a Datepicker használatával, és ott a formátum megadásával félig meg van oldva a dolog. -
martonx
veterán
válasz
Sk8erPeter
#1562
üzenetére
Ezt datepicker-rel használom pont az ilyen problémák áthidalása miatt. Egyébként JS-ben (meg mondjuk nem csak ott) az egész dátum kezelés nagyon gázos. Egy számról könnyű eldönteni, hogy az valóban szám-e, egy dátum mezőbe megadott valamiről eldönteni, hogy az dátum-e, ráadásul ahogy a példád is mutatja a 10/11/2012 az most 2012.11.10 vagy 2012.10.11 közel sem triviális. Talán ezért is nincs erre külön gyári ellenőrzés a jquery validate pluginben.
Mert félreértés ne essék, amiket az unobtrusive megoldásomban használok, egytől egyig (kivéve persze a saját metódusaimat) az alap jquery validate plugin beépített validálási szabályai.
Írj a plugin készítőjének, hogy tegyen bele dátum érvényesség validálást, mert az ötlet szerintem is hasznos. -
Muton
addikt
Ilyen kellene, csak a végén akár két gombbal
-
Muton
addikt
válasz
Sk8erPeter
#1569
üzenetére
Nekem olyan kellene, mint a Non-inset, collapsible set.
A lista elkészítésével tehát megvagyunk
Vannak a listaelemen végén pici számok: 10, 0, 4, 328, stb.
Na nekem ide kellenének pici gombok, amik más fv-t futtatnak, mint maga a lisetaelem -
Sk8erPeter
nagyúr
Persze, hogy meg lehet csinálni, de írd már le, mit szeretnél.

Itt mutat példákat lenyílókra:
http://jquerymobile.com/demos/1.2.0/docs/lists/lists-collapsible.html
pl. a "Non-inset, individual collapsibles" demónál. -
Muton
addikt
válasz
Sk8erPeter
#1567
üzenetére
így szerettem volna megcsinálni, köszi a javítást.
Na akkor elölről.
az almákra rákattintva fut egy fv (alert()), de nekem kellene még egy pici gomb is, mint a jobbra ikon, ami meg mást csinál.
Ezt meg lehet csinálni? -
Sk8erPeter
nagyúr
Az Add resources fülön egyáltalán nem adtál hozzá semmi jQuery Mobile-os hivatkozást, szóval nem csoda, hogy nem működött.
Az id-nál az attribútumhoz tartozó idézőjelet elfelejtetted lezárni, az sem működött jól.
Aztán a listview-t miért a li-elemekre akarod hívni? Egyáltalán nem használtam még a jQuery Mobile-t, de egyből feltűnt, hogy ez logikátlan.Kicsit javítgattam, ilyenre gondoltál?
http://jsfiddle.net/Sk8erPeter/7KqQ8/40/direkt kikommentezve bent hagytam az eredeti kódjaidat, hogy lásd, mi volt hibás.
(a 40-es számból látom, párszor rányomhattál az Update-re
) -
Muton
addikt
[link]
ez lenne az, csak nem tudtam bállítani, hogy úgy működjön, mintha be lenne töltve a jq, és a jqmobile, mert az adna neki egy normális felületet.
szóval az lenne kérdés, hogy ha egy üres listához elemeket adok hozzá, és az elemekre rákattintva funkciót rendelek hozzá (eddig megy), akkor az elemekre tudnék-e ehy plusz gombot is rakni?jqm szerkesztő (lap közepe): [link]
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter
#1562
üzenetére
Mondjuk a Datepickerrel természetesen lehet megkötést adni neki:
$("#MDate").datepicker({ dateFormat: "yy-mm-dd" });Ekkor 2012-11-26 formátumban dobja be a dátumokat.
De én erre az unobtrusive megoldásra gondoltam, ahol nincs Datepicker Widget. -
Muton
addikt
válasz
Sk8erPeter
#1561
üzenetére
Én abból indultam ki, hogy a JQM weblapján van egy szerkesztő, ha abban kirakok az eszközre egy listát (ami ugye nekem megvan), akkor a lista végére (a jobboldalra) nem enged az gombikon helyére egy külön gombot rakni.
Azért kérdeztem, hogy lehet-e valahogy?
szóval egy listát, amiben minden sorban van egy pici gomb.csinálok egy jsF-t
-
Sk8erPeter
nagyúr
válasz
martonx
#1558
üzenetére
Itt egyébként az a gáz, hogy viszont nem érvényes formátumú dátumra nem működik a kliensoldali validálás, az megint csak nem jó. Pedig elvárná az ember, hogy a pluginbe beépítve legyen már formátumellenőrzés is. Persze biztos van valami, én még nem néztem utána.
Szóval eleve ki kéne dobálnia a többihez hasonlóan (pl. ha karaktereket adsz meg neki), hogy "The field MDate must be a date." - vagy még inkább valami olyasmire utaló jelzés, hogy "invalid format", mármint az elvárthoz képest. Ha megadom a "11/09/2012" (hónap/nap/év) formátumot, arra is kidobja, hogy "MDate future", tehát jövőbeli dátum, meg arra is, hogy "2012-11-09" (év-hónap-nap). De a "10/11/2012" (nap/hónap/év) formátumra már nem, pedig miért ne lehetne olyan formátumban adott ország szokásai szerint.
Amire ki akarok lyukadni, hogy van számtalan érvényes formátum, de valamiféle megkötést kellene adni arra vonatkozóan, hogy mi az elvárt. És ne csak szerveroldali ellenőrzés legyen erre. -
Muton
addikt
Heló!
Van egy listám, amihez hozzáadok elemeket:
$('#listaID').append('<li id="' + elemID+ '"><a href="#">' + listaelemNeve+ '</a></li>');
$('#' + elemID).click(function () {
$(this).append('<li> ... az elem adatait kilistázza ...</li>');
}
+ refreshha rákattintok egy elemre, akkor további listában megjeleníti az listaElem adatait.
Azt meg lehet csinálni, hogy egy listában az elemre rakok egy gombot? tehát ha a listaelemre (a gombot leszámítva) kattintok, akkor ezt csinál (kilistáz), viszont ha a listaelemen belül a gombra, akkor azt (rendel egy sört és pizzát
) -
martonx
veterán
válasz
Sk8erPeter
#1556
üzenetére
Igaziból ez már a Date.parse-on múlik. Ha sikerült a browsernek parse-olnia a kapott értéket, akkor van értelme az összehasonlításnak, ha nem sikerül neki, akkor nincs.
Én végül nem is a Date.parse-ot használtam, hanem csináltam egy var formdate = new Date(value) változót, mert ez sokkal rugalmasabb, mint a Date.parse, a sima Date sokféle bemeneti dátumformátumot elfogad.
Ha belegondolsz ez az unobtrusive validálás nagyon elegáns, mert MVC design pattern-nél, elég csak a model-edet megfelelően annotálni, megírni a custom validációkat szerver és kliens oldalon (az én példám a kliens oldalt mutatja, a szerver oldali sem bonyolultabb), és voilá, máris kész a szerver és kliens oldali automatikusan működő validációd. -
Karma
félisten
-
Sk8erPeter
nagyúr
válasz
martonx
#1554
üzenetére
Ja hogy így. Én úgy próbáltam, ahogy az angol változat kínálja:
10/02/2012
Erre nincs szűrhetőség, hogy hogyan validálja? És ha annak nem felel meg, akkor dobjon hibát? Mármint a pluginbe beépítve.
Amúgy ilyen módon még nem használtam, csupa data-attribútummal ellátva, de tetszetős megoldás (tudom, nagyon nem új).
Ezek szerint itt a futuredate metódus hozzáadásával, meg a data-val-futuredate="MDate future" attribútum hozzáadásával csekkolod, hogy amennyiben jövőbeli dátumról van szó, akkor nem érvényes a dátum, mivel false-szal térsz vissza. Ez így akkor elég egyszerű megoldás, mert csak megcseréled a visszatérési értéket, ha mondjuk épp az a cél, hogy jövőbeli dátumot adjon hozzá a júzer (pl. egy megrendezésre kerülő rendezvény kapcsán). -
Muton
addikt
Heló!
Használom a changePage() tv-t. VAn a giccsparádé kapcsoló, amit ha átkapcsol a user, akkor nem csak cseréli a lapot, hanem szépen időzítve forgatja be az új lapot. Az a problémám, ha a pageLoader fv-ben van egy pageInit() fv, aminek be kell állítani az újonnan betöltött lapot, az csak akkor működik, ha a giccsforgatás befejeződik.
jqm-ben van valami olyasmi (trigger izé), ami egy fv-t akkor idít, ha a lapozás be is fejeződött?
-
martonx
veterán
válasz
Sk8erPeter
#1553
üzenetére
A JS-es Date.parse elég gyenge dolog (ezen magamnál még javítottam).
Ha így viszed be a dátumot, akkor tudja a JS parse-olni, és észre is veszi, hogy jövőbeli a dátum.2012-11-01
-
Sk8erPeter
nagyúr
válasz
martonx
#1543
üzenetére
Gyorsan kíváncsiságból kipróbáltam saját webszerveren is ilyen módon (ugyanilyen kóddal hoztam létre fájlt):
http://jsbin.com/ogajox/4/edit
Lehet, hogy szarul próbáltam, de ez így nem működik (mármint a lényeg). (Persze nem erőlködtem, hogy rájöjjek, miért nem.)
Tehát nem validálja, hogy jövőbeli dátumról van-e szó, egyszerűen továbbküldi a formot, ahogy a jsFiddle-ös példán is, és kész. -
martonx
veterán
válasz
Speeedfire
#1550
üzenetére
De te utálod css-el megoldani azt, amire napokig írhatsz js-t is.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Speeedfire
félisten
válasz
Speeedfire
#1548
üzenetére
Felakarja valaki találni a spanyol viaszt, erre....

Jó helyről akarok én is lopni.
Nagyban keresek, erre látom ezt css-el is meglehet oldani és nem szaggat.Csak ennyi kell:
.nyilak {
position: fixed;
top: x px;
left: y px;
} -
martonx
veterán
válasz
Peter Kiss
#1544
üzenetére
Így van, rögtön bele kell tolni a custom validátorokat, nem szabad elkezdeni ellenőrizni, hogy van-e már ilyen meg olyan objektum, készen van-e a DOM?
Ráadásul ez sehol nem volt leírva, két éjszaka árán sikerült végigrágnom magam az egész folyamaton. -
Speeedfire
félisten
válasz
Speeedfire
#1547
üzenetére
Meglett a függvény, de elég érdekes...
function arrows() {
var width = $(window).width();
if(width>1310) {
$('#arr1,#arr2').show();
var b1top = $('#postauthor').offset();
var height = $(window).scrollTop() + Math.floor($(window).height() / 2) - 25; //ez pl nem vágom itt mi akar lenni
b1val = parseInt(b1top.top) + 10;
if(height<b1val) {
$('#arr1,#arr2').css('margin-top',height + 'px');
} else {
$('#arr1,#arr2').css('margin-top',b1val + 'px');
}
} else {
$('#arr1,#arr2').hide();
}
} -
Speeedfire
félisten
-
Cathfaern
nagyúr
válasz
Speeedfire
#1545
üzenetére
Semmiképp ne úgy (azzal) csináld ahogy ők, mert elég szörnyű ahogy remeg görgetésnél

-
Speeedfire
félisten
Ezen az oldalon van egy effekt, ami szeretnék lekopizni, de nem találom.
Ahogy mozgatom az egeret fel le úgy mozog 2 oldalt a nyíl vele együtt. Ismer valaki ilyen plugint vagy scriptet? -
Peter Kiss
őstag
-
martonx
veterán
Ó bakker, megvan a probléma.
De legalább megtanultam a jquery.validate plugin, meg az unobtrusive bővítményének a mélylélektanát![;]](//cdn.rios.hu/dl/s/v1.gif)
A saját validációmat nem szabad document.ready-be rakni.
Mivel, amikor létrejön a teljes dokumentum, akkor ő fogja és szépen végigveszi, hogy milyen validálások is vannak beállítva az egyes form-okhoz, és ezt okosan le is tárolja magának.
Ezek után már nem számít neki, hogy milyen egyéb metódusokat adok hozzá, mivel ő látja, hogy ezt a form-ot már átnézte. És ezen a parse-olás sem segít, mert ekkor újra átnézné, de mivel látja, hogy már átnézte, mégsem teszi.Viszont ha a document.ready előtt már megadom neki, hogy erre az egyedi metódusra is figyeljen, akkor azt beleveszi a legelső vizsgálatába.
A parse-olás, csak akkor működik, ha addig nem létező (mondju ajax-al odatöltött) elem-en indítom el (érdekes látni, hogy a Jquery saját id-ket képez az elemekhez, és igaziból ezt vizsgálva dönti el, hogy új-e az az elem).
A végső megoldás: http://jsfiddle.net/5wbqd/35/ ami valami miatt JsFiddle-ön nem működik, de ha valaki nagyon ki akarja próbálni, egy html-be beledova (+ a két CDN hivatkozás persze) seperc alatt könnyen kipróbálható.
-
martonx
veterán
Egy fokkal jobb már a helyzet, az unobtrusive.js már látja a validálási szabályt, csak éppen nem hívódik meg a megadott metódus.
Vajon miért nem?
-
martonx
veterán
válasz
Peter Kiss
#1531
üzenetére
No megnéztem, és az adapter és a metódus megvan, parse-ot is csináltam.
Debugolom, és az általam megadott adaptert meg is találja az unobtrusive.js, viszont az alábbi résznél mégsem adja hozzá a gyűjteményhez:$.each(this.adapters, function () {
var prefix = "data-val-" + this.name,
message = $element.attr(prefix),
paramValues = {};
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
prefix += "-";
$.each(this.params, function () {
paramValues[this] = $element.attr(prefix + this);
});
//futuredate-nél itt a this.adapt-nál nem adja hozzá a futuredate validálásomat, pedig végigfut a kód,
//csak épp nem csinál semmit
this.adapt({
element: element,
form: form,
message: message,
params: paramValues,
rules: rules,
messages: messages
});
}
});Itt a frissített jsfiddle példa, ahol kiválóan látszik, hogy az unobtrusive validálás már működik, legalábbis a required-re, a date-re nem tudom miért nem működik, a fejlesztői gépemen arra is működik, csak a futuredate-re nem.
-
martonx
veterán
válasz
Sk8erPeter
#1537
üzenetére
de-de, nem is tudtam hogy ezek CDN-ből is elérhetőek. Tök jó, az oldalamon is átállítom ezeket a js-eket CDN-re! Köszi!
-
martonx
veterán
válasz
Speeedfire
#1536
üzenetére
Írtam rá szép model metadata vezérelt megoldást, már csak rá kellene venni ezt a szerencsétlen jquery validátort, hogy használja az én adapteremet, metódusomat is.
No sebaj, este majd még próbálkozok, Athlon-nak lehet igaza, hogy valami gond a metódus, adapter, parse hozzáadással lehet, bár ezeket (emlékeim szerint mind) megcsináltam, a sorrendjükben lehet elrontottam valamit. -
Speeedfire
félisten
válasz
Sk8erPeter
#1537
üzenetére
Hát, hogy nem plágint használni, hanem natív jQuery-t.
-
Sk8erPeter
nagyúr
válasz
martonx
#1535
üzenetére
Az itt szereplők nem azok, amikre gondolsz?
http://www.asp.net/ajaxlibrary/cdn.ashxPl.:
http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js(#1536) Speeedfire :
őőő, ezzel most mit akartál mondani?

-
martonx
veterán
válasz
Sk8erPeter
#1534
üzenetére
Igen

De ezt a file-t most így hamarjában nem tudom kirakni netre, pedig ez lenne a lényeg. -
martonx
veterán
válasz
Peter Kiss
#1531
üzenetére
igen, ezek elvileg rendben vannak.
Ráadásul ahogy debugoltam a hiba még azelőtt jön ki, mielőtt egyáltalán megnézné a validation plugin, hogy az adott rule-hoz talál-e végrehajtandó adaptert, metódust.
Tehát magát a rule-t nem tudja beazonosítani. -
martonx
veterán
Itt van egy, de ez még nem tökéletes, mert egy js hiányzik, amihez nem találtam CDN-t:
-
Speeedfire
félisten
válasz
Sk8erPeter
#1529
üzenetére
Most akkor te copy&paste-ezel?

-
Sk8erPeter
nagyúr
válasz
martonx
#1527
üzenetére
"Első körben (tudom égő) az érdekel, hogy JsFiddle-be hogy tudok a sima jquery-n kívül más külső JS-t hozzáadni, hogy megmutathassam a gondot?"
Add Resources:
A lényegi részre én őszintén szólva ennyiből nem tudom kihámozni, miért nem működik.

Szerk.: hát ez jó, próbáltam kihámozni a megoldást, közben Speeedfire is feltett egy képet kb. ugyanarról, ugyanúgy bekeretezve.

-
martonx
veterán
Sziasztok!
Kellene nekem Jquery validation plugin segítség. Első körben (tudom égő) az érdekel, hogy JsFiddle-be hogy tudok a sima jquery-n kívül más külső JS-t hozzáadni, hogy megmutathassam a gondot?
Addig is a problémám: adott egy input, amibe unobtrusive módon beletettem pár validálási szabályt, köztük egy sajátot. Ám a validation plugin, pontosabban maga a Jquery, amikor ide ér a validation plugin-nél:
staticRules: function(element) {
var rules = {};
var validator = $.data(element.form, 'validator'); //itt van a kutya elásva
if (validator.settings.rules) {
rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};
}
return rules;
},Akkor a saját validátoromat figyelmen kívül hagyja. Ami benne van required, minlength stb... azokat a $.data belepakolja a validator objektumba, a sajátomat nem.
Az input-om így néz ki a belefoglalt validálási szabályokkal:<input name="MDate" id="MDate" type="text" data-val-required="Date field is required." data-val="true" data-val-futuredate="{0} future date" data-val-date="The field Date must be a date." />
A cél az lenne, hogy a $.data felismerje a futuredate-et is, mint validátor rule-t.
-
weiss
addikt
Kössz a segítséget mindenkinek!
Végül PHP-ban cURL-lel lett megoldva a dolog. Picit lassú a köztes megálló miatt, de műxik! -
-
Karma
félisten
Próbáld meg dataType-nak azt megadni, hogy "jsonp xml", ekkor a lejövő anyagot átküldi az XML parseren, és elvileg jó eredményt kapsz. (Pontosabban először szövegként értelmezi, és azt adja át az XML parsernek, azaz jsonp -> text -> xml lesz az átalakítás sorrendje. Lásd az .ajax függvény leírásában a dataType végét.)
-
weiss
addikt
Na jó, azt hiszem mára feladom. Sikerült korrekt választ kapnom a szervertől /legalábbis a firebug szerint/, ha a dataType-ot jsonp-re változtattam. Hogy ez mennyire szerencsés, nem tudom. Viszont így állandóan parseerrort kapok, ami nem is csoda, hisz a válasz XML-ben jön, ráadásul nem is tudom kiíratni még a nyers kapott adatokat sem.
-
Speeedfire
félisten
válasz
Sk8erPeter
#1500
üzenetére
Miért kellene átírni? Két külön függvény. Vagy, hogy esetleg később ne keveredjen össze? Ha a callback után akarom felhasználni?
Szerintem a terhelés miatt nem írják át.
-
Sk8erPeter
nagyúr
Igen, tudom, hogy lehet olyat is, de az számomra erőltetett: valahogy kódolás szempontjából, meg ránézésre olyan, mintha tök különálló lenne a korábbiaktól, tehát számomra a $.ajax-ban mutatott módszer sokkal jobban összeáll.
Tehát én szimplán a kód áttekinthetősége, egyértelműsége miatt szeretem az $.ajax()-ot használni inkább:
egy helyen történik a sikeres kommunikáció kezelése és hibakezelés is, számomra így van "egyben" a dolog.
Aztán programozó válogatja, kinek melyik a "szebb"...
(#1511) martonx :
ja, jó tudni róla, ez eddig elkerülte a figyelmem (vagyis inkább sosem volt rá valahogy szükségem). -
Karma
félisten
válasz
Sk8erPeter
#1505
üzenetére
"Én átalakítanám $.ajax() hívásra, az könnyebben bővíthető hibakezeléssel is, meg szerintem beszédesebb"
Mondjuk a .get visszatérési értéke egy deferred object, úgyhogy semmi akadálya .success és .error függvényeket ráhívni

Egyébként nagyon erős a gyanúm, hogy a cross-domain policy okozza a gondot.
-
martonx
veterán
válasz
Sk8erPeter
#1508
üzenetére
Így lehet az ajax által küldött http header-öket konfigurálni. Mondjuk még én se próbáltam, csak egy tipp, megérzés hogy a header-ökben lehet valami eltérés.
-
martonx
veterán
biztonsági szempontok miatt nagyon is sok különbség lehet. Lásd pl. cross-domain problémák.
Emellett a Js közel sem biztos, hogy ugyanazokat a http header-ökkel fogja küldeni a kérést, mint a böngésző a címsorba beírt url esetében.
Ezért is mondtam a Fiddlert, mert azzal seperc alatt meg lehet állapítani a különbségeket. -
weiss
addikt
válasz
Sk8erPeter
#1505
üzenetére
Kössz, ezt adja vissza:
para van, textStatus:error
errorThrown:(#1506) martonx: Tegnap már próbáltam, sajnos sikertelenül.
Nem értem én ezt. Mi a különbség a között, hogy valamit beírok a böngészőbe manuálisan, vagy megkérek rá egy JS-t, hogy csinálja meg nekem?

-
martonx
veterán
válasz
martonx
#1506
üzenetére
$.ajax({
type: "GET",
url: "https://ib.slsp.sk/ebanking/login/ibxlogin.xml",
data: {user_id: "999999999", tap: "2", ac: "", pwd: "99999999", lng2: ""},
xhrFields: { //ezt még érdemes lehet kipróbálni
withCredentials: true
},
success: function(data, textStatus, jqXHR) {
// .... csinálj valamit, ha sikeres volt a kommunikáció
// mondjuk kiíratom debuggolás erejéig a konzolra a visszakapott adatot
console.log('siker, data:');
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// .... csinálj valamit, ha hiba történt
// mondjuk kiíratom debuggolás erejéig a konzolra a textStatust és az errorThrown-t
console.log('para van, textStatus:' + textStatus);
console.log('errorThrown: ' + errorThrown);
},
dataType: "xml"
}); -
martonx
veterán
Fiddler-rel kellene nézegetni a hálózati forgalmat, amikor bankolsz.
Abban össze is tudsz rakni url hívásokat, meg tudod nézni a cookie-t.
Ha kell cookie, akkor ezt érdemes kipróbálni ajax-nál, jól beállított szerveres cross-domain policy esetén:xhrFields: {
withCredentials: true
} -
Sk8erPeter
nagyúr
Hát pedig callback nélkül soha nem fogsz látni semmit... ha meg hiba történt, azt nem ártana lekezelni.
Én átalakítanám $.ajax() hívásra, az könnyebben bővíthető hibakezeléssel is, meg szerintem beszédesebb, pl. a második átalakítva:$.ajax({
type: "GET",
url: "https://ib.slsp.sk/ebanking/login/ibxlogin.xml",
data: {user_id: "999999999", tap: "2", ac: "", pwd: "99999999", lng2: ""},
success: function(data, textStatus, jqXHR) {
// .... csinálj valamit, ha sikeres volt a kommunikáció
// mondjuk kiíratom debuggolás erejéig a konzolra a visszakapott adatot
console.log('siker, data:');
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// .... csinálj valamit, ha hiba történt
// mondjuk kiíratom debuggolás erejéig a konzolra a textStatust és az errorThrown-t
console.log('para van, textStatus:' + textStatus);
console.log('errorThrown: ' + errorThrown);
},
dataType: "xml"
}); -
weiss
addikt
válasz
Sk8erPeter
#1501
üzenetére
$.get("https://ib.slsp.sk/ebanking/ibxindex.xml");
$.get("https://ib.slsp.sk/ebanking/login/ibxlogin.xml",
{user_id: "999999999", tap: "2", ac: "", pwd: "99999999", lng2: ""},
"xml");Első sor inicializálná a sessiont a második meg a bejelentkezés lenne. Próbáltam már kb. mindent, amit a neten találtam.
Új hozzászólás Aktív témák
Hirdetés
- Xbox Series X|S
- Samsung Galaxy A57 - kecses test, lusta lélek
- Kecskemét és környéke adok-veszek-beszélgetek
- Path of Exile 2
- Apple iPhone 17 Pro Max – fennsík
- Apple MacBook
- Apple iPhone 17 - alap
- iPhone topik
- Fejhallgató erősítő és DAC topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Logitech g29
- Új, Gamer félgép - MSI Z890 GAMING PLUS WIFI + Intel Ultra 7 265K + Corsair 2x16GB DDR5 6400MHz CL32
- ASUS Rog Ally Z1 Extreme, 2027.01.12-ig gyári garanciás, hálózati töltőjével, szilikon tokkal eladó!
- HP 250 G7,15.6",i5-1035G1,8GB DDR4,256GB SSD,WIN11
- Lenovo ThinkPad T480s,FHD,14",i5-7300U,8GB DDR4,256GB SSD,WIN11,TOUCH,jó akku
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

![;]](http://cdn.rios.hu/dl/s/v1.gif)







)







