Hirdetés

2024. május 6., hétfő

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  jQuery topic

Hozzászólások

(#1001) Sk8erPeter válasza Karma (#1000) üzenetére


Sk8erPeter
nagyúr

Hmm, még én sem használtam, szóval én is tudatlan vagyok a témában, de kezdheted az oktatást. :D Amúgy megnézve a hivatalos oldalon a példákat, eléggé igencsak faszán hasznosnak tűnik, pl. a változószerű használat kapásból feltűnt.

Ja, előbb elfelejtettem mondani, IE-ben valami iszonyat lassan jön elő a jsFiddle-ben összerakott tartalom a jobb alsó sarokban... Elsőre azt hittem, na, ez nem működik, aztán jó lassan csak megjelent a tartalom... és jól műxik. Nálad egyáltalán be sem jön a jsFiddle?

[ Szerkesztve ]

Sk8erPeter

(#1002) Karma válasza Sk8erPeter (#1001) üzenetére


Karma
félisten

A háttérbe küldtem az ablakot így nem figyeltem, de mostanra betöltötte a Fiddle-t és működik is. Előtte egy percig néztem az üres ablakot és a tekerő karikát. :U

Az oktatásba még nem nagyon mennék bele - egyrészt elég jók a példák és a referencia, másrészt késő van :D Csak elhintem a magvakat.

[ Szerkesztve ]

“All nothings are not equal.”

(#1003) Sk8erPeter válasza Karma (#1002) üzenetére


Sk8erPeter
nagyúr

Ja, hát azt csak úgy bedobtam, nem gondoltam komolyan, hogy kezdjél oktatni itt. :D Azért tudom, hogy neked sem 48 órából áll a nap. :)

Sk8erPeter

(#1004) Siriusb válasza Karma (#1000) üzenetére


Siriusb
veterán

Pont tegnap botlottam bele a Sass-ba és egy *picit* beleolvastam. Jól értem, hogy a sass ill. less segítségével megírod a stylesheet-et (változók használata nagyon szimpatikus) és utána rendereled a böngészők számára használható formába? Úgy látom van valami less.js is, ez valamiféle csökkentett funkcionalitással bír?

(#1005) Karma válasza Siriusb (#1004) üzenetére


Karma
félisten

Ilyesmi. Mindkét nyelvnél van lehetőség deployment időben és futásidőben is szerveroldalon renderelni, illetve a LESS tud olyat is, hogy a kliensböngésző bontja ki JavaScripttel. Tudtommal nem tud kevesebbet, mindössze az a baj, hogy IE alatt ez nem támogatott :(

Én, mint említettem, Mavenbe integrálva használom a LESS-t, így a kimenő WAR-ban már csak a renderelt CSS-ek szerepelnek.

“All nothings are not equal.”

(#1006) Lacces


Lacces
őstag

Csáó :)

Segítséget kérnék, documet.location.href-et kell alkalmaznom, de nem tudom, hogy hogyan kéne átadni az URL-ben egy értéket.

Röviden ha a select-ben kattintok (kiválasztok egy elemet a listából), akkor az oldalt kell újra generálni, az url-ben viszont a megjelenik a $selectedItem, mint szöveg, de az értéket hogyan kell megjeleníteni? (hozzáfűzni az urlhez)?
$selectedItem = $("#szallmodvalt").val();
$('#szallmodvalt').attr('onClick', "document.location.href='/admin.php?url=admin_raktar_item.php&szallmodvalt=$selectedItem';");
$('#szallmodbutton').click()

(#1007) Lacces válasza Lacces (#1006) üzenetére


Lacces
őstag

Már lejárt az időlimit...
Kijavítottam és így az url már okés, viszont a click() esemény nem fut le, hogyan tudnám azt is lefuttatni?

var selectedItem = $("#szallmodvalt").val();
var url = "document.location.href='/admin.php?url=admin_raktar_item.php&szallmodvalt=" + selectedItem + "';";
$('#szallmodvalt').attr('onClick', url);
$('#szallmodbutton').click()

Nem a legszebb megoldás, de ekkor viszont 2db "ajax" kérés fut le az oldalon.

[ Szerkesztve ]

(#1008) martonx válasza Lacces (#1007) üzenetére


martonx
veterán

légyszi írd be a google-be, hogy jquery .click és olvasd el a dokumentációt. Tényleg csak pár sor és tök egyértelmű példák vannak benne, hogy hogyan kell a click eseményt jquery-vel lekezelni.
Amivel próbálkoztál az ránézésre hibás megdöbbentett, hogy ilyet megkérdezel.

Én kérek elnézést!

(#1009) Lacces válasza martonx (#1008) üzenetére


Lacces
őstag

mindegy, hagyjuk

(#1010) Soak


Soak
veterán

Az miért van, hogy php-ben, foreach-el kirakok 2 elemet, mind a kettőn ugyanaz a button van, ugyanazzal az id-val és az elsőnél feljön az ablak, a másodiknál viszont nem reagál semmire a button.

Itt van a kód : [link] , A download gombra kattintva leszedi ugyanezt egy szimpla html-ben, ott elég jól lehet látni mindent. itt a confirmot használom, nálam így néz ki a kód;

$(document).ready(function()
{
/*
* Common dialogue() function that creates our dialogue qTip.
* We'll use this method to create both our prompt and confirm dialogues
* as they share very similar styles, but with varying content and titles.
*/
function dialogue(content, title) {
/*
* Since the dialogue isn't really a tooltip as such, we'll use a dummy
* out-of-DOM element as our target instead of an actual element like document.body
*/
$('<div />').qtip(
{
content: {
text: content,
title: title
},
position: {
my: 'center', at: 'center', // Center it...
target: $(window) // ... in the window
},
show: {
ready: true, // Show it straight away
modal: {
on: true, // Make it modal (darken the rest of the page)...
blur: false // ... but don't close the tooltip when clicked
}
},
hide: false, // We'll hide it maunally so disable hide events
style: 'ui-tooltip-light ui-tooltip-rounded ui-tooltip-dialogue', // Add a few styles
events: {
// Hide the tooltip when any buttons in the dialogue are clicked
render: function(event, api) {
$('button', api.elements.content).click(api.hide);
},
// Destroy the tooltip once it's hidden as we no longer need it!
hide: function(event, api) { api.destroy(); }
}
});
}



// Our Confirm method
function Confirm(question, callback)
{
// Content will consist of the question and ok/cancel buttons
var message = $('<p />', { text: question }),
ok = $('<button />', {
text: 'Ok',
click: function() { callback(true); }
}),
cancel = $('<button />', {
text: 'Cancel',
click: function() { callback(false); }
});

dialogue( message.add(ok).add(cancel), 'Photofreak' );
}

// Setup the buttons to call our new Alert/Prompt/Confirm methods
$('#confirm').click(function() {
Confirm('Are you sure you want to delete this photograph?', function(yes) {
// do something with yes
});
});
});

A fölösleges részeket kiszedtem. A button így néz ki :

<button class="button" id="confirm" type="button" >Delete</button>

Köszönöm előre is.

Szerk : Jah és még egy kérdés, hogy tudom elérni, hogy a yes-re kattintva a formot elinditsa? Magyarul ugyanazt megcsinálja mintha egy szimpla submit lenne egy html form alján.

[ Szerkesztve ]

(#1011) Male válasza Soak (#1010) üzenetére


Male
nagyúr

Mármint egy oldalon belül, egyszerre ott a két button azonos ID-vel? ...hát ez már eleve nem jó, mert két elemnek is azonos az ID-je... adj nekik különbözőt (sorszámozd vagy valami).

(#1012) Soak válasza Male (#1011) üzenetére


Soak
veterán

Igen, aztán gondoltam rá ,hogy ez lehet a probléma, viszont ha 60at kell megejeleníteni akkor a jqueryvel hogyan csinálom meg, hogy mind a 60ra vagy épp 24re jó legyen?

Szerk: Vagy inkább azt hogyan csinálom meg, hogy ne id-ra "keressen" hanem class-ra .

[ Szerkesztve ]

(#1013) Male válasza Soak (#1012) üzenetére


Male
nagyúr

$('#confirm') helyett $(".classneve"), és kész is...
...de buttonnál én inkább onclick-el beírnám direktben mindnél, hogy mit indítson, mert minek terhelni vele a felhasználó gépét betöltés után. ...bár ezt nem tudom ,hgoy jól gondolom-e... majd valaki jól beleköt, ha nem :)

(#1014) Cathfaern válasza Male (#1013) üzenetére


Cathfaern
nagyúr

Ha az ember el akarja különíteni a dolgokat, akkor igazából nem szép dolog html kódba eventeket beleírni :)
Amúgy jah, az id lesz a ludas jó eséllyel.

De ha már dialog, akkor miért nem használod a dialog buttons optionjét? [link]

[ Szerkesztve ]

(#1015) Soak válasza Male (#1013) üzenetére


Soak
veterán

Közben foglalkoztam vele kicsit komolyabban és elég kézen fekvő volt, hogy .classneve , de kösznöm mindenesetre. Nem hinném, hogy ez annyira hazavágja a gépüket, nagyon kevés olyan dolog van az oldalon amit a felhasználó futtat.

Cathfaern : Egyelőre azért mert foglamam sincs hogyan kell ... :) .. Ezt megtaláltam és jónak tűnt, sok minden más is van a qtip-ben ezért kézenfekvőnek gondoltam, ha innen használom a dialogot.

[ Szerkesztve ]

(#1016) Cathfaern válasza Soak (#1015) üzenetére


Cathfaern
nagyúr

Ja most nézem, hogy te a qtip dialogját használod. Akkor nem szóltam :)

(#1017) Karma válasza Male (#1013) üzenetére


Karma
félisten

Én elválasztanám a logikát és a struktúrát, azaz semmiképp se tennék onclickeket a HTML-be. 60 eseménykezelő bekötése nem nagy load a böngészőnek,cserébe szárazabb és tisztább érzés, ha egy dolgot csak egy helyen kell karbantartani.

“All nothings are not equal.”

(#1018) Male válasza Karma (#1017) üzenetére


Male
nagyúr

Akkor is egy helyen kell karban tartani, hiszen ugyan azt a függvényt hívja meg mind, elég a függvényt szerkeszteni.

Cathfaern: Igen, ha annyira el akarom különíteni a HTML-től, csak ha meg class alapján rendelem hozzá, akkor hozzákötöm a stílushoz is tulajdonképpen, ami meg máshol lehet nehézség (pl máshol is azonos stílust alkalmaznék egy gombra, de más event kell neki, vagy éppen egy dizájn módosításnál a gombok egy részét megváltoztatnám, de akkor emiatt a JS-t is át kell írni, hogy a módosítottakhoz is hozzárendelődjön).

(#1019) Cathfaern válasza Male (#1018) üzenetére


Cathfaern
nagyúr

Egy elemre több classt is fel lehet rakni, és akkor nincs ez a gond :N

(#1020) Karma válasza Cathfaern (#1019) üzenetére


Karma
félisten

Ja, ezt is akartam írni (az egyébként elég kései) hozzászólásomban; az előző stratégia nagyon azt sugallta hogy ezzel nem számoltak a kollégák :P

“All nothings are not equal.”

(#1021) Male válasza Cathfaern (#1019) üzenetére


Male
nagyúr

Hm, ez igaz :)

(#1022) Sk8erPeter válasza Lacces (#1007) üzenetére


Sk8erPeter
nagyúr

Bocs, de ez így nagyon ronda megoldás.
Ha már nem inline módon adod meg az egyes attribútumok értékét (mint pl. az onclick-attribútumét), amit nagyon jól is teszel, akkor használd ki a lehetőségeket, amiket a jQuery kínál, mert nagyon kényelmesen lehet vele megoldani az ilyesmit.
Azt írod, select listából való kiválasztás esetén szeretnéd átirányítani a felhasználót. Ekkor a .change() eseményre köss eseménykezelőt.
Az átirányítást pedig igénytől függően window.location.replace()-szel vagy window.location.href-fel oldd meg.

Ezek alapján példa:

$(document).ready(function(){
$('#szallmodvalt').change(function(){
var $selectedItem = $(this).find(':selected');
alert($selectedItem.val());
var url = "/admin.php?url=admin_raktar_item.php&szallmodvalt=" + $selectedItem.val();

// @see http://stackoverflow.com/questions/503093/how-can-i-make-a-redirect-page-in-jquery-javascript

// // similar behavior as an HTTP redirect
// window.location.replace(url);

// similar behavior as clicking on a link
window.location.href = url;
});
});

Még egy fontos dolog: ebben semmi AJAX nincs, ez egy szimpla átirányítás!

Sk8erPeter

(#1023) Sk8erPeter válasza Male (#1013) üzenetére


Sk8erPeter
nagyúr

"de buttonnál én inkább onclick-el beírnám direktben mindnél, hogy mit indítson, mert minek terhelni vele a felhasználó gépét betöltés után"
A terhelés nem igazán érv ebben az esetben, az onclick attribútum használata meg csúnya, szemantikai keveredést jelent. Bár ez is felfogható egyfajta hitkérdésként, de szerintem tényleg nem szép keverni a kódot. Pl. az már eleve nem szép megoldás, ha a PHP-kódba (template-fájlba) is bele kell túrni ahhoz, hogy átírd mondjuk az onclick-attribútumba beleírt JavaScript-függvény nevét.
Meg mondjuk rengeteg legenerált elemnél rengeteg plusz karaktert is bele kell generálni az adott elemekbe szerveroldalon :DDD, a külső JS-fájlban tárolt eseménykezelőt meg cache-ből is előkotorhatja a böngésző. :P

========

(#1010) Soak : na, hogyhogy mégis visszatértél a qtipre?

style: 'ui-tooltip-light ui-tooltip-rounded ui-tooltip-dialogue'
De azért kevered a jQuery UI Dialoggal is...? :)

[ Szerkesztve ]

Sk8erPeter

(#1024) Male válasza Sk8erPeter (#1023) üzenetére


Male
nagyúr

Jó, rengeteg plusz karakter :)
(átírni mondjuk annyira nem kell, mert miért írnám át)

Valami gyenge ARM-os cuccon sem jelent semmit ez a plusz terhelés? Mert ha ott sem, akkor tényleg nincs értelme, és meg vagyok győzve :)

(#1025) Soak válasza Sk8erPeter (#1023) üzenetére


Soak
veterán

Sokkal egyszerűbben kezelhető számomra, legalábbis eddig. Azt tulzás állítani, hogy visszatértem, keresem az utam ... :)) ... A style-t nem én raktam bele, ha megnézed amit linkeltem akkor már ott is fent van.

(#1026) Sk8erPeter válasza Soak (#1025) üzenetére


Sk8erPeter
nagyúr

Ja tényleg, azért zavart meg, mert ahhoz hasonló stílusokat, class-okat alkalmaz, mint a jQuery UI Dialog.

(#1024) Male :
"Valami gyenge ARM-os cuccon sem jelent semmit ez a plusz terhelés?"
Hát fogalmam sincs, nem készítettem ilyen benchmarkot sosem, de azért 60 elemnél már csak nem. :P

Sk8erPeter

(#1027) Male válasza Sk8erPeter (#1026) üzenetére


Male
nagyúr

Ok :) Következő dolog amit meg kéne néznem, mi-mekkora terhelést okoz... mert JS szempontból csak tippelgetek, ami nem túl előnyös fejlesztési szempontból :)

(#1028) martonx válasza Sk8erPeter (#1026) üzenetére


martonx
veterán

jelentem per pillanat Android 2.1-es régi szutyok gépekre optimalizált weboldalt (igazából phonegap projekt) fejlesztek jqueryvel, és nem jelent rájuk semmiféle terhelést az események dinamikus bekötése.
Az egyetlen ami terhelést jelent nekik, bármiféle animáció (slide, toggle, fade ilyesmik) lejátszása a böngészőben.

Én kérek elnézést!

(#1029) Male válasza martonx (#1028) üzenetére


Male
nagyúr

Na, pont PhoneGap kell majd nekem is....igazából, csak pár hónap múlva, most még csak egy mini tesztet csináltam, hogy egyáltalán működésre tudom-e bírni :)

Csak az animáció a nehézség nekik, az összes többi dolog mehet simán akkor?

(Ha majd elakadok, kérdezhetek priviben, vagy van ennek külön topicja?)

(#1030) martonx válasza Male (#1029) üzenetére


martonx
veterán

Az animáció Android oprendszer, és mobil proci függő. Ami egy Galaxy SII-esen röccenés nélkül animál, az egy Alctel OT-akárhányon úgy szaggat, hogy rossz nézni. Viszont a többségnek Alcatel szintű hardware-e, meg oprendszere van.
Másrészt mindez egyedül Android-on probléma, IOS-en, WP7-en, BlackBerry-n nem probléma.
De ha egyszer mindenki a kártyásan 20K-s android-os fosokat veszi meg, akkor a fejlesztőnek ezt kell kiindulási alapnak vennie :O

Én kérek elnézést!

(#1031) Karma válasza martonx (#1030) üzenetére


Karma
félisten

Azért az animációk iOS-en is olyanok, hogy oda kell figyelni - nem minden esetben használja a GPU-t a mozgatáshoz. Az emlékeim már elég homályosak, mert vagy egy éve volt már (akkor is Sencha Touchot használtam), úgyhogy nem tudom konkrétan :P SO-n biztos le van írva.

“All nothings are not equal.”

(#1032) Sk8erPeter válasza martonx (#1030) üzenetére


Sk8erPeter
nagyúr

"De ha egyszer mindenki a kártyásan 20K-s android-os fosokat veszi meg, akkor a fejlesztőnek ezt kell kiindulási alapnak vennie :O"
Azért ez speciel sztem nem egy olyan téma, mint kb. az Internet Explorer mai napig, ÖNKÉNT történő használata, ami kegyetlen nagy gyökérség. Sok ember nem hajlandó egyszerűen annyit áldozni egy telefonra, pl. én is ezek közé tartozom. Jelenleg egy fostalicska érintőképernyős ostobafonom van :D, telefonálásra, SMS-írásra, zenehallgatásra használom, de majd váltok Androidosra, hogy egy kicsivel több funkcionalitás legyen elérhető a telefonomon (mondjuk ha többet áldozok rá egy kicsit, akkor még talán kíváncsiságból fejlesztek is rá, meg hátha ilyen melóm lesz), de egyébként egyelőre úgy vagyok vele, hogy magasról teszek rá, mennyire komoly a telóm, ha akarok böngészni, tudjak vele viszonylag tűrhetően, de egyébként inkább fontosabb dolgokra (mint pl. akkor már inkább áldozok a laptopomra, kiegészítőkre, külső vinyóra, ilyesmi) költöm a lóvét. :K
Most ezt csak azért mondtam el, hogy ne nézzük már le a gyengébb telefonnal rendelkezőket. :DDD

Sk8erPeter

(#1033) Male válasza martonx (#1030) üzenetére


Male
nagyúr

Android fronton tudsz olyan típust, ami "ha ezen használható tempóban megy, akkor minden máson is fog"? (Mármint egy jQuery-s, PhoneGapos cucc viselkedjen így.) Mert teszteléshez akkor ilyesmit szereznék be... sajnos telefonokkal nagyon nem vagyok képben.

[ Szerkesztve ]

(#1034) Soak válasza Soak (#1010) üzenetére


Soak
veterán

Megint probálok ezzel szerencsétlenkedni kicsit. Amit sehogy sem tudok megoldani (nem találtam konkrétan erre leirást sehol :B ), hogy miután yes-re kattintottam elküldje a formot a JS. Jelengleg így néz ki a gomb

<input class="button" name="delete_event" type="submit" value="Delete">

Ugye ezzel azt is elérem, hogy tudom melyik gombot nyomtam meg (name="delete_event") . A formnak event_delete classot adtam, ha számít.

(#1035) martonx válasza Sk8erPeter (#1032) üzenetére


martonx
veterán

Elárulom, hogy Android emulátorral fejlesztek. Nekem céges butafon-om van, és hülye lennék bármennyit is költeni telefonra (aztán mikor egy-egy etap kész, akkor teszteljük mindenféle készüléken). Amit írtam a statisztikák alapján írtam. Fejlesztőként viszont rendesen szívok az Android platform töredezettségével, utálom is rendesen.

Én kérek elnézést!

(#1036) Sk8erPeter válasza Soak (#1034) üzenetére


Sk8erPeter
nagyúr

Csak gyorsan belenézve a kódba (tévedés joga fenntartva! :) ) szerintem ilyesmi a megoldás:

// Setup the buttons to call our new Alert/Prompt/Confirm methods
$('.event_delete input[name="delete_event"]').click(function() {
Confirm('Are you sure you want to delete this photograph?', function(yes) {
// do something with yes
$.ajax({
url: 'ajax/test.html',
data: 'asd',
success: function(data) {
// .............
}
});
});

return false;
});

A lényeg tehát, hogy itt egy AJAX-os kérést indítasz.

========

(#1035) martonx : ja OK, gondoltam, hogy nem mindenféle telód van :D, csak úgy tűnt, hogy átmegyünk "hülyefelhasználóvegyenmárnormálistelefontrohadjonmeg"-szidásba. :P

[ Szerkesztve ]

Sk8erPeter

(#1037) Soak válasza Sk8erPeter (#1036) üzenetére


Soak
veterán

Hibát dobott rá a DW, kijavitottam ilyenre, nem tudom ,hogy jó-e.

$('.event_delete input[name="delete_event"]').click(function() {
Confirm('Are you sure you want to delete this photograph?', function(yes) {
$.ajax({
url: 'ajax/event_action.php',
data: 'asd',
success: function(data) {
// .............
}}) <- itt volt zárójel hiba
});
});

return false;
});

Viszont nem működik, nem történik semmi, pedig a classok és a nevek helyesek. Megmondom őszintén nem értem, hogy mi történik ,szóval fogalmam sincs miért nem megy, sejtem, hogy a data az nem asd kéne, hogy legyen. :)

[ Szerkesztve ]

(#1038) Karma válasza Soak (#1037) üzenetére


Karma
félisten

Én tennék egy console.log()-ot a selector után, hogy kiderüljön, lyukra fut-e vagy tényleg visszaadja a megfelelő gombokat.

“All nothings are not equal.”

(#1039) Sk8erPeter válasza Soak (#1037) üzenetére


Sk8erPeter
nagyúr

"Hibát dobott rá a DW, kijavitottam ilyenre, nem tudom ,hogy jó-e."
Mire dobott hibát? :F Pedig abban, amit írtam, szintaktikai hiba nincs.
Abban viszont van, amit Te írtál. :D
Valahol korábban lesz nálad a hiba.
Dobd már be a kódodat légyszi jsFiddle-re, mert így nem látjuk át, mi a potenciális hiba.
A confirm ablak egyáltalán megjelenik?

Ahogy Karma írja, kéne néhány helyre tenni console.log()-gal valami üzenetet, hogy lásd, meddig jut el a kód.
Amúgy a data-ban pl. a kép id-ját küldhetnéd el, pl. így:
{photoId: 653}

[ Szerkesztve ]

Sk8erPeter

(#1040) Soak válasza Sk8erPeter (#1039) üzenetére


Soak
veterán

Nem korábban van, nem tudom, hogy miért dobott hibát, csak azt a részt másoltam be amit te írtál,oda ahova irtad, a komment alá, nem tudom miért szarozik, mindjárt megprobálom újra, mondjuk ha belegondolok a facebookos like beágyazós js-re is szintaktikai hibát dob, holott fut rendesen, most felraktam a CS6-ot, megnézem ezzel is.

Szerk : CS6-nak se tetszik.

Szerk2:

$(document).ready(function()
{
/*
* Common dialogue() function that creates our dialogue qTip.
* We'll use this method to create both our prompt and confirm dialogues
* as they share very similar styles, but with varying content and titles.
*/
function dialogue(content, title) {
/*
* Since the dialogue isn't really a tooltip as such, we'll use a dummy
* out-of-DOM element as our target instead of an actual element like document.body
*/
$('<div />').qtip(
{
content: {
text: content,
title: title
},
position: {
my: 'center', at: 'center', // Center it...
target: $(window) // ... in the window
},
show: {
ready: true, // Show it straight away
modal: {
on: true, // Make it modal (darken the rest of the page)...
blur: false // ... but don't close the tooltip when clicked
}
},
hide: false, // We'll hide it maunally so disable hide events
style: 'ui-tooltip-light ui-tooltip-rounded ui-tooltip-dialogue', // Add a few styles
events: {
// Hide the tooltip when any buttons in the dialogue are clicked
render: function(event, api) {
$('button', api.elements.content).click(api.hide);
},
// Destroy the tooltip once it's hidden as we no longer need it!
hide: function(event, api) { api.destroy(); }
}
});
}



// Our Confirm method
function Confirm(question, callback)
{
// Content will consist of the question and ok/cancel buttons
var message = $('<p />', { text: question }),
ok = $('<button />', {
text: 'Ok',
click: function() { callback(true); }
}),
cancel = $('<button />', {
text: 'Cancel',
click: function() { callback(false); }
});

dialogue( message.add(ok).add(cancel), 'Photofreak' );
}

// Setup the buttons to call our new Alert/Prompt/Confirm methods
$('.event_delete input[name="delete_event"]').click(function() {
Confirm('Are you sure you want to delete this photograph?', function(yes) {
// do something with yes
$.ajax({
url: 'ajax/settings_form.php',
data: 'asd',
success: function(data) {
// .............
}
});
});

return false;
});

Így néz ki a kód jelenleg, erre dobja a hibát.

[ Szerkesztve ]

(#1041) Soak válasza Soak (#1040) üzenetére


Soak
veterán

Kicsúsztam : http://jsfiddle.net/kJadU/ , ez a releváns dolog úgy gondolom.

[ Szerkesztve ]

(#1042) Sk8erPeter válasza Soak (#1041) üzenetére


Sk8erPeter
nagyúr

A $(document).ready(function() {-t nem zártad le, nem volt a végén });, ennyi volt a baja a validitással.
Ezenkívül itt nem include-oltad a jQuery-t bal oldalt kiválasztva a library-t a MooTools helyett. A qtipet sem include-oltad. :) Azt az Add resources-nál hozzáadtam. Ahogy a CSS-fájlokat is.
Az event_delete class-szal rendelkező formot sem raktad az input köré...

Egy működő változat (természetesen az AJAX-os kérés nem fog működni, de beraktam minimalista hibakezelőt):
http://jsfiddle.net/Sk8erPeter/kJadU/1/

Sk8erPeter

(#1043) Soak válasza Sk8erPeter (#1042) üzenetére


Soak
veterán

Azokat tényleg elfelejtettem includeolni, de a formot azért nem tettem köré mivel gondoltam ugysincs hova elküldeni.

Na mindjárt megprobálom magamnál is megcsinálni :)

(#1044) Soak válasza Soak (#1043) üzenetére


Soak
veterán

Sikerült müködésre bírni, köszönöm szépen. Szítam vele egy csomót, mire észrevettem, hogy a gomb a </form> tag után van .... ohh FAIL :W

(#1045) Sk8erPeter válasza Soak (#1044) üzenetére


Sk8erPeter
nagyúr

Szívesen, örülök, hogy sikerült.

Sk8erPeter

(#1046) Male


Male
nagyúr

Valaki használja CKEditorral a jQueryt?

A következő a gondom:

jQueryvel kirakok egy formot, benne egy textarea. Ha megjelent, akkor lecserélem a textareát a ckeditor szerkesztőjére ( $('#textarea_idje').ckeditor(); ). Van hozzá egy "Mégsem" gomb, ami először leszedi a ckeditort ( destroy(); -jal ), majd a form helyett betölti ami kell.
Ez így szépen működik, akár hányszor behozza a formot, majd nyom "Mégsem"-et, mindig megy.
A gond ott van, ha nem a "Mégsem"-et nyomja meg, hanem valami más gombbal/menüponttal tölt valamit a form helyére (nem tölti újra az oldalt, csak behoz mást), majd szépen visszahozza a formot, akkor elszáll az egész, mivel a form megjelenésekor lefutna a "$('#textarea_idje').ckeditor();", miközben előtte már lefutott egyszer, és nem volt destroy(); előtte. ...ezért aztán egy "uncaught exception: [CKEDITOR.editor] The instance "textarea_idje" already exists." hibát kapok.

Hogy lehet ezt megoldani? Arra gondoltam, hogy a "$('#textarea_idje').ckeditor();" előtt le kéne ellenőrizni, hogy jelen van-e már ez, és ha igen, akkor előbb egy destroy()-t hívni... csakhogy nem tudom leellenőrizni, hogy jelen van-e már.

(#1047) Male válasza Male (#1046) üzenetére


Male
nagyúr

Végülis megkerültem: mivel egyetlen függvény van, ami mást tölthet a form helyére, így betettem oda fixen egy destroy()-t... (A mégsem gomb is ezt használta, csak előbb nyomott egy destroy-t.)
Ha nincs szerkesztő, nem okoz hibát, ha meg van, akkor lefut. Viszont ez nem valami szép megoldás... ugyhogy továbbra is, ha valaki tud jó megoldást a problémára, akkor légyszi írja meg!

[ Szerkesztve ]

(#1048) martonx válasza Male (#1046) üzenetére


martonx
veterán

miért ne tudnád leellenőrizni, hogy jelen van-e már a ckeditor?

Én kérek elnézést!

(#1049) Male válasza martonx (#1048) üzenetére


Male
nagyúr

Nem tudom, hogyan kell... ez az egy aprócska akadálya van :DDD

(#1050) martonx válasza Male (#1049) üzenetére


martonx
veterán

konkrétan én sem, de legyünk már egy csöppet találékonyak. A CKEditor, meg minden hasonszőrű plugin létrehoz egy rakás DOM elemet.
Ezek közül leellenőrzöd a legfelsőt, hogy ott van-e, és ha ott van, akkor létrejött a CKEditor, ha nincs ott, akkor nem jött létre.
Ilyen egyszerű.

Én kérek elnézést!

Útvonal

Fórumok  »  Szoftverfejlesztés  »  jQuery topic
Copyright © 2000-2024 PROHARDVER Informatikai Kft.