- D1Rect: Nagy "hülyétkapokazapróktól" topik
- NASsoljunk: ZyXEL NSA-310 és az FFP
- sziku69: Fűzzük össze a szavakat :)
- Szevam: „Rendszerleállás” – egy AI képzeletbeli halál utáni élménye
- Argos: Szeretem az ecetfát
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- Elektromos rásegítésű kerékpárok
-
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
wolandino #2399 üzenetére
Hmm, mondjuk sztem azért, mert előbb így írtam:
$(":input").on("click", function () {
// ...
});
viszont ide nem írtam selectort, az utóbbiba már igen:
jQuery("body").on("click", ":input", function () {
// ...
});Ja, amúgy jótanács, amivel időt spórolhatsz: ha van egy új kód, amit előbb tesztelni akarsz, úgy, hogy egyből lásd a hatását (egyáltalán jó-e, amit csináltál), anélkül, hogy fájlba kéne mentegetni, majd frissítgetni (olykor Ctrl+F5 nyomogatásával, hogy ne cache-ből kotorja elő), akkor pl. Chrome-ban nyomj egy F12-t vagy Ctrl+Shift+I-t, aztán kattints a konzol fülre, és ide egyből másold be az új kódodat, majd nyomj egy Entert, és itt általában egyből látható, működik-e a kód, vagy van valami szintaktikai vagy egyéb hiba. Ha itt írod meg a többsoros kódot (én is szoktam), akkor Shift+Enterrel tudsz sortörést belerakni, a normál Enter egyből elküldi.
-
wolandino
tag
válasz
Sk8erPeter #2398 üzenetére
a delegate tényleg műxik így !
az on nem tudom miért nem működött, pedig amíg kipróbáltam kicseréltem a jquery-t és nem is nyavalygott, hogy nem ismeri a függvényt, hanem csak nem jól működött. -
Sk8erPeter
nagyúr
válasz
wolandino #2397 üzenetére
Szívesen!
.on()-nal akkor nyilván azért nem működött, mert az csak újabb jQuery-ben van; .delegate()-tel meg gondolom azért nem, mert nem nézted meg rendesen a meghívásának módját.
Elég hülye módon fel van cserélve a .live()-hoz képest:
tehát ez:
jQuery("body").on("click", ":input", function () {
// ...
});megfelel ennek:
jQuery("body").delegate(":input", "click", function () {
// ...
});.live()-val:
jQuery("body").live( "click", ":input", function () {
// ...
}); -
wolandino
tag
válasz
Sk8erPeter #2395 üzenetére
Live-al úgy néz ki, hogy működik!
a többivel nem.Köszönöm
-
wolandino
tag
válasz
Sk8erPeter #2395 üzenetére
bár nekem 1.6.2-van, megpróbáltam 1.7-el, a függvénnyel, amit írtál, de nem javult meg a dolog sajna:S
-
Sk8erPeter
nagyúr
válasz
wolandino #2394 üzenetére
Akkor próbáld meg azt, hogy így átírod:
$(":input").click(function () {
// ...
}HELYETT
$(":input").on("click", function () {
// ...
});Fontos: az .on() függvény a jQuery 1.7-es verziójától él.
Ez jól összefoglalja a változásokat:
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+ -
wolandino
tag
válasz
Sk8erPeter #2393 üzenetére
azt hiszem nekem tanán a 2.) irányában kellene mennem.
egyébként az összes checkboxot jqueryvel teszem fel, és vannak ugyanolyan id-jűek(css miatt), de nem aszerint nem tudok hivatkozni rá. ugyanis valójában nem id alapján hivatkozom, hanem
$(":input").click(function () {...
na ez a közben bedobott checkboxokat nem veszi figyelembe...szívesen feltenném, de túl nagy a kód, még egyszerűsítve is...
-
Sk8erPeter
nagyúr
válasz
wolandino #2392 üzenetére
Akkor fordulhat elő ilyen, ha
1.) több HTML-elemnek ugyanaz az id-je (kerülendő)
2.) dinamikusan hozzáadott elemek id-jára hivatkozva kötsz az adott elemre eseménykezelőket, ilyenre való az .on() függvény (korábban .delegate(), .live(); ennek lényege, hogy jövőben várhatóan létrejövő elemekre is tudsz eseménykezelőket kötni).
3.) szintaktikai hiba
4.) ..... stb.Ha konkretizálod a példát úgy, hogy egy leegyszerűsített változatot felraksz jsfiddle-re, konkrétabban is fogunk tudni segíteni.
-
wolandino
tag
sziasztok,
kicsit összetett problémám van JQueryvel, de megpróbálom összeszedetten megfogalmazni.
Van egy oldalam, amibe az oldalbetöltésnél bedobálok checkboxokat, majd meghívok pár javascript függvényt, amelyek újabb checkboxokat dobálnak az oldalra. Azt vettem észre, hogy az így behúzott checkboxokra már nem tudok hivítkozni jqueryvel pl $("#id") nem műxik.
Van valakinek valami ötlete, hogyan tudnám áthidalni a problémát, sajnos az nem megoldható, hogy már az elején betegyem az összes checkboxot, mert ezek változnak sajnos.Köszönettel,
W. -
Sk8erPeter
nagyúr
válasz
BullZeye #2390 üzenetére
Nem tudom, nálad miért nem működik a korábbi kód, pedig pontosan megfelelt annak a specifikációnak, amiről írtál, ki is próbáltam a gyakorlatban, nálam azt csinálta, amit szerettél volna.
Egyébként nem tudom, mi a nehezen átlátható benne, szerintem a kód magáért beszél, beszédes változóneveket is használtam direkt."Kijelöli ugyan a 720p torrenteket, de párat pirossal, párat zölddel, és semmi összefüggés nincs köztük, vagyis én nem vettem észre"
Most direkt rákerestem a "Family Guy" szavakra a megfelelő helyen, és pontosan azt csinálja, amit leírtál, hogy szerettél volna...A táblázatban páratlannak megfelelő sorokat pirosas színnel jelöli ki, a párosakat zölddel. De most lehet, hogy te azt akartad volna, hogy a találatok közül válassza szét a páros-páratlanokat, és annak megfelelően színezzen? Mert rohadtul nem azt mondtad....
"hisz amit sokan letöltöttek azt ki se jelöli, meg ilyenek."
Itt miről beszélsz, beszélj már világosan, mert én nem értem. Mikor volt szó arról, hogy a sokat letöltött torrenteket jelölje már ki? Ugyan milyen szűrőt akarnál erre tenni? Ezt korábban még csak nem is említetted, hogy erre rá lehessen keresni.Elmondom, mit kértél zanzásítva: a táblázatban lévő páratlan sorokat jelölje ki az egyik színnel, a párosakat másikkal, de ezeken belül csak azokat színezze be, amely találatok nevében benne van a "family guy" és a "720p".
Pont ezt csinálja, attól még, mert nem tudtad normálisan megfogalmazni, mit szeretnél, nem az én kódom a hibás.A második kérdésre:
"Az a Cati meg testvér elem, szóval nem egymás alatti dolog, hisz a 2 TD teljesen egyenrangú, abból ki lehet indulni?"
Igen, épp ezt magyaráztam, hogy a cati osztályú td elem testvéreleme az, amin belüli <a> taggel rendelkező elemet keresed, és mint a kódból látható, ki lehet belőle indulni.Ezt is kipróbáltam, létrehoztam egy ilyennek megfelelő táblázatot, ha nálad nem működik, akkor annak már tényleg nem tudom, mi az oka...
-
BullZeye
veterán
válasz
Sk8erPeter #2389 üzenetére
Persze hogy olvastam, ki is próbáltam, de nem azt csinálta amit én szeretnék az a kód. Kijelöli ugyan a 720p torrenteket, de párat pirossal, párat zölddel, és semmi összefüggés nincs köztük, vagyis én nem vettem észre, hisz amit sokan letöltöttek azt ki se jelöli, meg ilyenek.
És a kódot amit használok értek, és átlátom, a tiédet meg nem, ezért használtam azt inkább.
Az a Cati meg testvér elem, szóval nem egymás alatti dolog, hisz a 2 TD teljesen egyenrangú, abból ki lehet indulni?
Így néz ki a szülőkönyvtár:
Table(torrentable) > Tbody > TR > TD > AMost a kód btw így néz ki:
http://pastebin.com/UJEmEkkn
-
Sk8erPeter
nagyúr
válasz
BullZeye #2388 üzenetére
Láttad a korábbi hsz.-t, amit még szintén neked címeztem?
Újabb kérdésre:
ott van a "cati" classname-mel rendelkező <td> elem még azelőtt. Ezért én abból indulnék ki, hogy ennek a <td> testvérelemén belül keresed az <a> taget.
Innen szedtem egy next() függvényt.
Ezek alapján a kód:
function next(elem) {
do {
elem = elem.nextSibling;
} while (elem && elem.nodeType != 1);
return elem;
}
var elementsWithCatiClass = document.getElementsByClassName('cati'),
nextElement = null,
elementsNeeded = [];
for( var i = 0; i < elementsWithCatiClass.length; i++ ){
nextElement = next( elementsWithCatiClass[i] );
elementsNeeded[i] = nextElement.getElementsByTagName('a');
}Itt az elementsNeeded tömbbe gyűjtjük az említett elemeket.
A for cikluson belül persze csináld ezekkel az elemekkel azt, amit szeretnél.
Kipróbáltam, működik. -
BullZeye
veterán
Mivel az előző script jól működik, veszem a bátorságot, és megpróbálok egy más szerkezetű oldalhoz is csinálni hasonlót. Viszont mivel azóta se tudok programozni, lenne 1-2 kérdésem, mert itt próbálgatással nem megyek semmire, mert 1 apró hiba, és nem működik, és google-be hiába kerestem számomra fogyasztható írást erről, nem igazán találtam (nem is igazán tudom mire keressek).
Szóval, az oldal első eleme amit vizsgálni szeretnék, teljes fával:
És ha jól sejtem, nekem elég innentől dolgozni:
Azaz ennek a vizsgálata, és hosszának megállapítása így fog kinézni?
for (
i=1 ;
i < document.getElementsById("torrenttable").getElementsByTag("TBODY").length ;
i++
)I azért 1, mert az első TR a fejléc, ami nekem nem kell, így kapásból a 2. elemmel kell kezdenie.
Valamint a szöveg vizsgálata:
document.getElementsById("torrenttable")[0].getElementsByTagName("TBODY")[i].getElementsByTagName("TR")[1].getElementsByTagName("a")[0].title.match(/720p|Dimension|Immerse/i)
itt a [1] az első vagy a második elemet jelenti, itt is a 2.at ugye?
-
Sk8erPeter
nagyúr
válasz
SektorFlop #2386 üzenetére
Szívesen! Sok sikert.
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2385 üzenetére
Kicsit utána olvastam és nehezen sikerült összehozni. Köszönöm a segítséget!
Van még mit tanulnom
-
Sk8erPeter
nagyúr
válasz
SektorFlop #2384 üzenetére
Ne add fel, hidd el, az elején én is csak kapkodtam a fejem, hogy "most mi va'? Semmit nem értek."
Aztán szép lassan összeáll a kép, de azt az ember nem ússza meg, hogy sokat olvasgasson utána.
A header() akkor szokott hibát okozni, ha van bármiféle kiírás még a fejlécek kiküldése előtt. Elég akár egyetlen szóköz is ahhoz, hogy probléma legyen. Vagy pl. a karakterkódolási probléma: UTF-8 BOM-mal - na az nem jó, mert kiokád a doksi elejére egy felesleges karaktersorozatot, mindig BOM nélküli UTF-8-kódolást használj (ezt Notepad++-ban nagyon jól lehet csekkolni).
Azért majd még egyszer olvasd át, amiket írtam, remélem abból nagyjából vágni fogod, mihez is kéne nyúlni. De kérdezz vissza, ha valami nem egyértelmű. -
SektorFlop
aktív tag
válasz
Sk8erPeter #2383 üzenetére
éreztem hogy az egész rossz... nem értek se az ajaxhoz és a javascripthez is csak kicsit
a header helyet azért használtam scriptet mert atw-vén futna a dolog és ott mindig hibát írt a header-re. próbáltam más irányba menni ezzel a dologgal, ahogy írtam nem értek hozzá, így erőltetem inkább ezeket a scripteket, de sajnos nem járok sehogy se sikerrel
mindenesetre köszönöm a segítséget.
-
Sk8erPeter
nagyúr
válasz
SektorFlop #2379 üzenetére
Ez a kód már csak azért is fájó, mert olyan könnyen támadható az oldalad SQL Injectionnel, mint az állat. Nem ártana escape-elni a felhasználótól érkező tartalmat - soha ne bízz meg abban az adatban, ami a felhasználótól közvetlenül érkezik...
Másrészt ha kódot illesztesz be, akkor jelöld ki a kódodat itt a szövegmezőben, majd kattints a "Programkód" gombra, pont arra való, hogy valami normálisan átlátható formában legyenek a kódok.
Harmadrészt: a mailcsere.php fájlban abszolúte semmi értelme JavaScripttel átirányítani a felhasználót, arra ott a PHP header() függvénye is - felesleges tehát kiíratni bármit is.
Ahogy a példában van:
header('Location: http://www.example.com/');
de ezelőtt ne legyen SEMMILYEN kiíratás.
DE (!!!) ezt NE TEDD BELE!! Egyáltalán ne rakj bele semmilyen átirányítást, mert most AJAX-os kommunikáció zajlik, lásd később a magyarázatot.Aztán menjünk tovább.
Ez van most a kódodban:
/* Send the data using post and put the results in a div */
$.post( 'login/mailcsere.php', { email: term },
function( data ) {
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
}
);Ez most azt csinálja, hogy a login/mailcsere.php fájlnak elküldi a term-ben található adatot, az emailbe objektumba begyűjtve, ez majd PHP-oldalon is megjelenik.
A sikeres (!) adatküldés esetén (pl. létezik a fájl, elérhető, nem dobott vissza hibát, stb.) a content változóba úgy pakolja be az adatot, hogy a visszakapott adatokból kikeresi a "content" id-val rendelkező DOM-elemet (!), aztán a content változó tartalmát bepakolja a "result" id-val rendelkező HTML-elembe.Egyrészt: amit Te visszaadsz a PHP-fájllal, abba nem raksz bele semmi olyat, amiben "content" id-val rendelkező elem van, másrészt egyáltalán nincs "result" id-vel rendelkező elemed az oldalon.
Sőt, a PHP-fájlban csak azt a JavaScriptes visszairányítós részt íratod ki, ami AJAX-os kommunikáció esetén eleve felesleges.Először próbáld csak úgy, hogy kiíratod echo-val, hogy "siker" vagy "hiba", aztán a $.post részt egyelőre (!) így módosítod:
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
HELYETT
var content = $( data );
$( "#result" ).empty().append( content );Ezenkívül még tegyél be a mobil.php fájlba egy ilyet valahova a végére mondjuk:
<div id="result"></div>Ide fogja pakolni az AJAX-kommunikáció eredményét.
-
Sk8erPeter
nagyúr
válasz
BullZeye #2381 üzenetére
Jah, jogos, igazából most nézem csak, hogy benne van a reguláris kifejezéssel való ellenőrzés is.
De akkor is nehezen átlátható így.
Én valahogy így oldanám meg, kipróbáltam, működik (direkt két jól eltérő háttérszínt választottam):
var
torrentElements = document.getElementsByClassName("box_torrent"),
oddRowClassName = "box_nagy",
evenRowClassName = "box_nagy2",
oddRowBackgroundColor = "#3AA03A",
evenRowBackgroundColor = "#FF1111";
for(var i=0; i<torrentElements.length; i++){
var torrentLink = torrentElements[i].getElementsByTagName("a")[1],
isTorrentFamilyGuy = torrentLink.title.match(/family.guy/i),
isTorrent720p = torrentLink.title.match(/720p/i),
isOddRow = (torrentElements[i].getElementsByClassName(oddRowClassName).length > 0);
isEvenRow = (torrentElements[i].getElementsByClassName(evenRowClassName).length > 0);
if(isTorrentFamilyGuy && isTorrent720p){
if(isOddRow){
torrentElements[i].getElementsByClassName(oddRowClassName)[0].style.backgroundColor = oddRowBackgroundColor;
}
else{
torrentElements[i].getElementsByClassName(evenRowClassName)[0].style.backgroundColor = evenRowBackgroundColor;
}
}
}Szerk.: a működését úgy is le tudod ellenőrizni, hogy pl. Chrome-ban nyomsz egy F12-t, a Console fület kiválasztod, és oda egy az egyben bemásolod a kódot, majd nyomsz egy Entert (persze úgy, hogy a megfelelő ncore-oldal meg van nyitva, és rákerestél a Family Guy-találatokra).
-
BullZeye
veterán
válasz
Sk8erPeter #2380 üzenetére
Ááá, ha csak ennyi kellene, akkor CSS-t hasznék rá, nem Javascriptet!
Az a lényeg, hogy az oldalon végig nézi a megjelölt diveket, és ha benne van egy szöveg, és az 720p, akkor kijelöli színesen. De már rájöttem a hiba kiküszöbölésére, szóval lassan kész is.
Azért problémák még akadnak sajnos, pl hogy egyszerre nézzen 2 divet, és ha egyik is true, akkor jó legyen, de majd kitalálom egyszer.
-
Sk8erPeter
nagyúr
válasz
BullZeye #2377 üzenetére
Uhh, ezt elég brutálisan túlbonyolítod.
Ha jól értem, az a célod, hogy a páratlan, illetve páros soroknak különböző háttérszíneket adj.Ebben az esetben ennyivel megoldható:
var
// páratlan táblázatsorok
oddElements = document.getElementsByClassName("box_nagy"),
// páros táblázatsorok
evenElements = document.getElementsByClassName("box_nagy2"),
// páratlan táblázatsorok háttérszíne
oddBackgroundColor = "#3AA03A",
// páros táblázatsorok háttérszíne
evenBackgroundColor = "#A31E39"
;
// végigmegyünk a páratlan táblázatsorokon
for(var i = 0; i<oddElements.length; i++){
oddElements[i].style.backgroundColor = oddBackgroundColor;
}
// végigmegyünk a páros táblázatsorokon
for(var i = 0; i<evenElements.length; i++){
evenElements[i].style.backgroundColor = evenBackgroundColor;
}=================
(#2376) wolandino : a puding próbája az evés.
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2373 üzenetére
nem sikerül összehoznom...
mobil.php fájlom ahol a form található...<div data-role="page" id="mailcsere">
<div data-role="header">
<h1>E-mail módosítás</h1>
</div>
<div data-role="content">
<form action='/' method='post' id="mailcsere">
<input type='text' name='email' />
<input type='submit' value='Módosítás' />
</form>
<script>
/* attach a submit handler to the form */
$("#mailcsere").submit(function(event) {/* stop form from submitting normally */
event.preventDefault();/* get some values from elements on the page: */
var $form = $( this ),
term = $form.find( 'input[name="email"]' ).val(),
url = $form.attr( 'action' );/* Send the data using post and put the results in a div */
$.post( 'login/mailcsere.php', { email: term },
function( data ) {
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
}
);
});
</script>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>mailcsere.php
<?
session_start();
$felhasznalo=$_SESSION['felhasznalo'];
require_once ('connect.php');
$email=$_POST['email'];
$sql = "UPDATE `felhasznalok` SET email='$email' WHERE user='$felhasznalo';";
if (mysql_query($sql)) {
echo "<script type='text/javascript'>window.location='mobil.php?szerkezt=sikeres'</script>";
exit;
}
else {
echo "<script type='text/javascript'>window.location='mobil.php?szerkezt=sikertelen'</script>";
}
?>a mobil.php fájlom azért néz ki így mert phonegap-el dolgozom, ezért is bajlódom a formokkal
-
BullZeye
veterán
Sziasztok
Találtam egy elég hasznos scriptet Scriptish-hez, amit szerettem volna picit átalakítani, már félig össze is jött ami kell, viszont egy ponton megakadtam.
Ncore jellemzője, hogy minden sor más színű, ezért ugyanaz a háttérszín minden sornál hülyén néz ki, úgyhogy jött az ötlet, hogy 2 színű legyen, viszont várakozásokkal ellentétben csak a páratlan sorok színeződnek be (azaz pont az első része a scriptnek, és nem a második)
Sose javascripteltem, úgyhogy előfordulhat, hogy valami orbitális hülyeséget követtem el, és ott van a hiba. Script itt található:
//box_nagy2 - páratlan sorok
ez a rész lefut, színez//box_nagy - páros sorok
ezt a részt viszont ignorálja teljesen, de hibát nem ír ki, csak nem színez//Sok letöltés
ez ismét tökéletesen lefut hiba nélkülMost próbáltam elérni, hogy kapásból vizsgálat után mindkét sort színezze, és ne kelljen a title.matchnek 2x jelentkeznie.
document.getElementsByClassName("box_torrent")[i].getElementsByTagName("a")[1].title.match
(/family.guy/i)
&&
document.getElementsByClassName("box_torrent")[i].getElementsByTagName("a")[1].title.match
(/720p/i)
?
document.getElementsByClassName("box_nagy2")[parseInt(i/2)].style.backgroundColor = "#329832";
document.getElementsByClassName("box_nagy")[parseInt(i/2)].style.backgroundColor = "#3aa03a":De mondanom sem kell, hogy ez nem működik. Mit rontottam el, illetve mivel tudom működésre bírni ezt a részt?
-
wolandino
tag
válasz
Sk8erPeter #2375 üzenetére
Igen, én is ismerek egy csomó ilyen oldalt, de az ördög a részletekben bújik meg, ezért kellene, hogy olyan írjon, aki használt már valamit és tud annak a szolgáltatásairól képet festeni
Ezekből a leírásokból nem derül ki, hogy az egyes szolgáltatások kombináltan mennyire testreszabhatók, illetve pl. konkrétan hogy néz ki egy excel export, csak annyi, hogy van-e benne valamilyen, vagy nincs...elsőre nekem a datatables is tökéletes megoldásnak tűnt.
Autós hasonlattal a fedélzeti computer sem biztos, hogy ugyanazt jelenti a Bentley és a Suzuki esetén -
wolandino
tag
Sziasztok!
Egy táblázatmanipuláló JQuery, esetleg JavaScript plugint keresek.
Kipróbáltam a Datatables-t, de több bajom is van vele.1. A php,excel, stb export gombjai nem megfelelően jelennek meg linuxos környezetben chrome böngészővel.Ez azt hiszem azért lehet, mert flash fájlt haszál ehhez a datatables, vagy nem jól van megírva az a függvény, ami a flasht használja, nem tudom :s
2. Ennél nagyobb baj, hogy az excel export sokkal "bénábbra" sikerült, mint amit korábban php-val produkáltam, ezen kívül headerben kell megadni, hogy mi legyen a fejléc, ami mindig a táblázat header részének utolsó sora, így a fölötte lévő sorok elvesznek exportkor. A legnagyobb baj viszont, hogy utána még elég komoly formázásra szorul az excel, ami számomra nem felel meg.
Valami olyan plugint keresek, ami hasonlóan bő szolgáltatással rendelkezik, mint a datatables, de jobb böngészőtámogatással és jobban testreszabhatók a funkciói...
Köszönettel,
W. -
Sk8erPeter
nagyúr
válasz
SektorFlop #2372 üzenetére
Igen, jól láttad, jQuery-vel nagyon egyszerű az AJAX-os kommunikáció.
Itt konkrét példát is mutatnak rá: jQuery.post().
Nézd meg alul azt a keresőt, ami bemutatja ennek a működését.A lényeg kiszedve az oldalról, van egy ilyen form:
<form action="/" id="searchForm">
<input type="text" name="s" placeholder="Search..." />
<input type="submit" value="Search" />
</form>
<!-- the result of the search will be rendered inside this div -->
<div id="result"></div>Tehát az "s" name-mel rendelkező input-elem tartalmát szeretnénk elküldeni POST-metódussal. Itt a jQuery-kód:
/* attach a submit handler to the form */
$("#searchForm").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get some values from elements on the page: */
var $form = $( this ),
term = $form.find( 'input[name="s"]' ).val(),
url = $form.attr( 'action' );
/* Send the data using post and put the results in a div */
$.post( url, { s: term },
function( data ) {
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
}
);
});A lényeg ez, ami az elején lévő példakódban van, ez elég jól érthető:
$.post('ajax/test.html', function(data) {
$('.result').html(data);
}); -
SektorFlop
aktív tag
válasz
Sk8erPeter #2370 üzenetére
úgy látom ezzel a módszerrel áttudom adni post-al is ami még jobb lenne... egy kis segítséget kérnék, 2 mezőt szeretnék átadni, és hol kell megadni hogy melyik oldalnak küldené az űrlap? tapasztalatom szerint nem elég action-ba beírni.
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2370 üzenetére
köszi szépen! ez kell nekem.
-
Sk8erPeter
nagyúr
válasz
SektorFlop #2369 üzenetére
jQuery segítségével a legegyszerűbb: jQuery.get(), itt is van példa, itt bővebb magyarázat is (ld. 4. pont).
Kérdezz, ha elakadtál.
-
SektorFlop
aktív tag
sziasztok!
text mező value értékét szeretném átadni egy PHP fájlnak GET metódussal, tudomásom szerint ehhez script szükséges. valaki tudna ebbe segíteni? akár egy egyszerű példa bemutatásával?
-
válasz
Sk8erPeter #2367 üzenetére
Jó jó értelek, akkor kérlek utólag had korrigáljak:
- "a php függvényre hivatkozok konkrétan, mvc segítségével", remélem így jobb, ha nem akkor bocsi nem tudom rendesen megfogalmazni
-
válasz
Sk8erPeter #2365 üzenetére
Szia!
Közbe rájöttem mi volt a gond.
"szimplán a php -ra hivatkozok akkor pedig jó" például: http://valami.hu/felhsználó_törlése/béla
-
-
Sziasztok!
Annyi lenne a gondom, hogy Jquery -vel szeretnék egy url -t megnyitni a "háttérben". Gondoltam, hogy erre jó lesz az ajax, de nem csinál semmit. A lényeg, hogy admin felületen néhány funkciót így akarok végrehajtani, pl.: delet, block, activate. Az ajax -szal egy url -re szeretnék hivatkozni, amit a controller amúgy elvégezne pl.: http://www.gipszjakab.com/users/block/béla. (Remélem érthető
). Most a script lefut, de éppenséggel nem csinál semmit, szimplán a php -ra hivatkozok akkor pedig jó.
.
-
Sk8erPeter
nagyúr
válasz
[pod]Diablo #2362 üzenetére
Szívesen.
-
[pod]Diablo
őstag
válasz
Sk8erPeter #2361 üzenetére
Igen,igen.Tokeletes,koszonom
-
Sk8erPeter
nagyúr
válasz
[pod]Diablo #2360 üzenetére
Hali!
Remélem valami ilyesmire gondoltál: [link].Persze gyorsmegoldás, lehetne másképp is, de a célnak megteszi.
-
[pod]Diablo
őstag
Udv!
Van egy menum amit kedves Sk8erPeter kollega tokeletesitett nekem,most viszont annyiba szeretnek valtozatni rajta hogy amikor active a menu a menu szovege alatt egy kep jelenjen meg.Odaig eljutok hogy berakom mindegyik ala a kepet,es elrejtem,csak azt nem tudom kivitelezni hogy az active menunel lathato legyen a kep.
Elore is koszonom a segitseget!
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2358 üzenetére
Ezzel tulajdonképpen mit akartál mondani?
Szerk.: egyébként az ilyen jellegű általánosításoknak sok értelme nincs, azok, akik nem értenek hozzá, kezdők, stb., nyilván mindent mágikus fekete doboznak tekintenek. Attól még nem biztos, hogy ostobák, és az sem biztos, hogy nem akarják később bepótolni a tudáshiányt.
Mellesleg gondolom Te is így vagy valamivel, amiről már sokat hallottál, de érdemben nem volt még időd foglalkozni vele, de majd szeretnél (sajnos ezt az igényességet nem mindenki mondhatja el, közvetlen közelből ismerek olyat, aki szeret úgy összeb@szni mindent a lehető leggyorsabban, anélkül, hogy értené, mit csinál, hogy még pénzt is keres vele) - addig viszont marad egy ismeretlen, egyelőre rejtélyes terület, vagyis egy mágikus fekete doboz. Nemde? -
Peter Kiss
őstag
válasz
Sk8erPeter #2357 üzenetére
És innentől még az a nagy vicc, hogy a legtöbben a jQuery-t egy mágikus fekete doboznak tekintik, azt sem tudják, mi van benne, aztán meg csak megy az értetlenkedés, ha valami (akár egy plugin) nem megy, vagy lassú, vagy bármi más kínja van.
No sacrifice no victory.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2355 üzenetére
Nem világos a kissé túlzottan támadó stílusod oka - főleg úgy, hogy nem ajánlottál a kérdezőnek megoldást. Ezt azért ennél kicsit finomabban is lehetett volna közölni.
Gondolom a mondandód egyik lényege az volt, hogy kezdő ne nagyon foglalkozzon jQuery-vel nulla JavaScript-tudással, anélkül, hogy tudná, egyáltalán mit csinál. Ez rendben is van, egyetértek. A gond viszont az, hogy sokan csak egy gyors megoldást szeretnének, anélkül, hogy komolyabban belemennének a JavaScript tanulásába. Igényesebb munkához szerintem is elengedhetetlen, hogy belemenjen a részletekbe, de mondjuk jQuery-vel van mód arra is, hogy különösebb tudás nélkül össze lehessen gányolni valamit.
Tulajdonképpen az a probléma, amire rákérdezett, szintén jQuery-vel oldható meg gyorsan és könnyen, mert fasza kis pluginek vannak rá.
Egy példa, ami nem pontosan felel meg annak, amit kérdezett, de multiselectre például nagyon fasza: [link] (senki nem szeret ugye Ctrl nyomvatartásával többet kijelölni).
Tudom, most kész megoldást én sem javasoltam, csak mutattam egy példát. -
Speeedfire
félisten
válasz
Peter Kiss #2355 üzenetére
folyamatosan erre irányítani senkit se
Most először ajánlottam ilyet....mellesleg egy jó framework miért rossz? Nem azért jó, mert gyorsabban meglehet sok dolgot valósítani benne? Nem ezért van a legtöbb nyelvre framework? Költői kérdések ezek...
A fenti mondatomban, hol van az hogy én új javascriptnek tekintem?
Most csak be akartál ug*tni nekem vagy rossz kedved van? -
Peter Kiss
őstag
válasz
Speeedfire #2354 üzenetére
Attól, hogy a jQuery egy nagyon jól használható lib, még nem kellene folyamatosan erre irányítani senkit se. Főleg azt nem, akinek fogalma sincs a Javascript-ről.
Tudnám, mi a f...ért kell a jQuery-t egy új Javascript-nek tekinteni. -
Speeedfire
félisten
Jquery css kell neked.
Amikor az id vagy osztály ki van jelölve, pl click funkcióval akkor beállítod neki ezt. Utána meg mondjuk kikattintásra vagy ha leveszed az egeret róla akkor vissza áll a css. -
Lacces
őstag
Sziasztok!
Van a neten tutorial leírás (nemtom angolul hogy kell beírni még új vagyok ajax / javascript területen)
Van egy Select lista, és ha belekattintok / kijelölök egy selectet, akkor azt akarom, hogy az a select rész, nagyobb legyen? Amivel automatikusan megtudnám növelni a méretet, vagy esetleg egy felugró ablakban jeleníti meg a selectet, és akkor ott kényelmesen ki lehet választani mindent.
Vagy bármilyen html tagnél.
Azt szereténm ha azt az objektumot megnövelné... Vagy felugró rakná.Csak pár kedves angol szó is jó lenne, hogy a neten rá keresek.
-
Sk8erPeter
nagyúr
rt06 már előttem leírta, de a jsbin-en konkrét példán is láthatod: jsbin.com, itt bal oldalt szerepel a JS-kód, a "hello" azonosítójú paragrafusra (<p id="hello">Hello World</p>) hivatkozik, és ott megváltoztatja a bekezdés tartalmát:
if (document.getElementById('hello')) {
document.getElementById('hello').innerHTML = 'Hello World - this was inserted using JavaScript';
} -
Sk8erPeter
nagyúr
Nincs mit!
Ja, hát elsőre én is csodálkoztam rajta, én a Drupalból "loptam" az ötletet (itt a drupal.org-on láthatod a gyakorlatban, ha megkukkantod a forráskódját), ott alkalmazzák előszeretettel. Tulajdonképpen ez a dupla komment konkrétan nem tudom, melyik - régi - böngésző(k) miatt szükséges, de valószínű, hogy valami cross-browser hack-elés, ahogy Te is megsejtetted. -
Oly
őstag
válasz
Sk8erPeter #2347 üzenetére
Köszi
ID-ra, hogy hivatkozzak?
-
rt06
veterán
válasz
Sk8erPeter #2347 üzenetére
koszi az infot, ez meg jol johet
viszont a komment hatan komment megoldas az miert kell? valami ie hack? -
Sk8erPeter
nagyúr
"- par egyeb aprosag, hogy valid legyen a kod (bar nem lett az, mert nem szereti a js-ben sem a & karaktert, de ezen csak az segitene, ha kiemelned kulon file-ba a script-et)"
Nem, van más megoldás is!
Hogy a Te kódod valid legyen, ahhoz csak jelezni kell a parser felé, hogy a JavaScript-kódot tartalmazó sorokat ne próbálja validálni, így:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--//--><![CDATA[//><!--
function sendMail() {
var body = document.form1.s1.value;
body += "%0d%0a";
body += document.form1.s2.value;
body += "%0d%0a";
body += document.form1.s3.value
var link = "mailto:valaki@valami.hu?cc=valaki.mas@valami.mas.hu&subject=targy&body="+body;
window.location.href = link;
}
//--><!]]>
</script>
<title></title>
</head>
<body>
<form name="form1" action="">
<input size="49" name="s1" id="sz1" type="text"/><br/>
<input size="49" name="s2" id="sz2" type="text"/><br/>
<input size="49" name="s3" id="sz3" type="text"/><br/>
<br/>
<button onclick="sendMail(); return false;">Send</button>
</form>
</body>
</html>Egyébként annyit ehhez hozzátennék, hogy az ilyen document.form1 jellegű megoldásokat érdemes kerülni, inkább érdemes id szerint hivatkozni a mezőkre.
Szerk.: persze attól még érdemes a JavaScript-cuccokat is (ahogy a CSS-t is) külön fájlba rakni, hogy a böngésző szépen cache-elhesse az azt tartalmazó fájlt, ráadásul úgy egyébként is könnyebben karbantartható. Meg "szemantikailag" is szebb.
-
Oly
őstag
válasz
Peter Kiss #2344 üzenetére
És láss csodát! Múkod
-
Oly
őstag
NEkem IE és Firefox alól sem megy az ékezet.
Eddig Excelből VB-vel oldottam ezt meg. Ott lehetett from-ot is csinálni.
Exchange szervert használunk, van lehetőség más (néhány) cím alól küldeni.Olvastam valahol, hogy a htmlben is lehet VBA kódot használni. Ez megodlás lenne?
Vagy PHP?
azzal csak az a baj, hogy nem tudom egyszerűen egy hálózati meghajtóra helyezni, mint a JS-et. A VBA-t igen? -
rt06
veterán
nem tudom, mi lehet a gond, nekem mukodik ekezetekkel is (thunderbird - outlook-kal nem tudtam megnezni, az nincs)
a from-ra nincs otletem es nem is vagyok benne biztos, hogy ekeppen at lehet allitani (pl hiaba allitod at a kliens gepen, hogy a "kerdezo@valami.egeszen.mas.hu" cimrol kuldje a levelet, ha az o smtp szervere ezt visszadobja neki
-
-
Brown ügynök
senior tag
Ez legyen a HTML kód eleje:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" >
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />A sortörésre pedig helyesbítek:
Közben leírták előttem.
Az ékezetes betűknél mi a gond? Nem jelenik meg rendesen?
-
rt06
veterán
a helyes kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function sendMail() {
var body = document.form1.s1.value;
body += "%0d%0a";
body += document.form1.s2.value;
body += "%0d%0a";
body += document.form1.s3.value
var link = "mailto:valaki@valami.hu?cc=valaki.mas@valami.mas.hu&subject=targy&body="+body;
window.location.href = link;
}
</script>
<title></title>
</head>
<body>
<form name="form1" action="">
<input size="49" name="s1" id="sz1" type="text"/><br/>
<input size="49" name="s2" id="sz2" type="text"/><br/>
<input size="49" name="s3" id="sz3" type="text"/><br/>
<br/>
<button onclick="sendMail(); return false">Send</button>
</form>
</body>
</html>- a link osszerakasanal az elso & legyen ? kulonben azokat nem parameterkent kezeli
- a sortorest a hexa kodjaval tudod atadni url-ben
- a meta header a head-en belul kell, hogy legyen
- par egyeb aprosag, hogy valid legyen a kod (bar nem lett az, mert nem szereti a js-ben sem a & karaktert, de ezen csak az segitene, ha kiemelned kulon file-ba a script-et) -
Oly
őstag
válasz
Brown ügynök #2335 üzenetére
Így sem rak sortörést, és az ékezeteket sem szereti.
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript">
function sendMail() {
var body = document.form1.s2.value;
body += document.form1.s3.value
var link = "mailto:valami&cc=valamimas&subject=targy&body="+body ; window.location.href = link; }
</script>
<title></title>
</head>
<body>
<form name="form1">
<input size="49" name="s1" id="sz1" type="text"><br>
<input size="49" name="s2" id="sz2" type="text"><br>
<input size="49" name="s3" id="sz3" type="text"><br>
<br>
<button onclick="sendMail(); return false">Send</button>
</form>
</body>
</html> -
Brown ügynök
senior tag
Próbáld a body változót így egybefűzni:
var body = document.form1.s2.value;
body += document.form1.s3.value;A html és a program, amiben írod, ugyanazt a karakterkódlást kell tartalmaznia. Ha utf8-ban írod, akkor a html meta taget is állítsd be utf8-ra.
Valamint minden elemnek egyedi id-t kell kapnia. Tehát ha egy csoportba szeretnéd rendezni az inputokat, akkor használd a class attribútumot, id helyett.
-
Oly
őstag
Sziasztok
A HTML topikban kezdtem, de itt folytatom.
Szeretnék egy olyan űrleapot csinálni, aminél gombnyomásra előjön az alapértelemezett levelező progi új mail ablaka, az űrlapon található adatokkal kitöltve.
Itt tartok:
<html>
<head>
<script type="text/javascript">
function sendMail() {
var body = document.form1.s2.value+"\n"+document.form1.s3.value;
var link = "mailto:valami&cc=valamimas&subject=targy&body="+body ; window.location.href = link; }
</script>
<title></title>
</head>
<body>
<form name="form1">
<input size="49" name="s1" id="sendvalue"
type="text"><br>
<input size="49" name="s2" id="sendvalue"
type="text"><br>
<input size="49" name="s3" id="sendvalue"
type="text"><br>
<br>
<button onclick="sendMail(); return false">Send</button>
</form>
</body>
</html>Most két gondom van:
- nem szereti az ékezetes betűket.
- nem tudok sortörést tenni a string-be (\n-nel próbáltam, de nem reagál rá)Segítségeteket előre is köszönöm.
-
Sk8erPeter
nagyúr
Hát én ugyan nem ragaszkodom hozzá, Te kértél segítséget, nem én...
Amúgy nincs name="sendValue" attribútummal rendelkező input-elemed, de ezt már korábban is magyaráztam, úgy látom feleslegesen.
Azért kell, mert ennek az értékét akarod elküldeni AJAX-szal, és erre kötöd a "keyup"-eseményt...
Valami ilyesminek kéne lennie:
<input type="text" size="49" name="sendValue" id="sendValue" />A <script type="text/javascript"> részt tök felesleges PHP-val kiíratnod, mivel az "statikus".
-
Abrion
senior tag
válasz
Sk8erPeter #2331 üzenetére
vagy úgy az én hibám, gondoltam nem kell azt is bekopiznom, mert ott nincs fontos dolog, csak pár echo, de ha ennyire ragaszkodsz hozzá, bekopizom a benne lévö scriptet is.
{
while($row = mysql_fetch_array($sql)){
$id=$row['id'];
echo "<tr>";
echo '<td id="'.$id.'" width="317px">' . $row['cim'] . '</td>';
echo '<td width="142px">' . $row['link1'] . '</td>';
echo '<td width="218px">' . $row['link2'] . '</td>';
echo '
<script type="text/javascript">
$(document).ready(function() {
$(\'#'.$id.'\').click(function(){
var current_value = $(this).html();
$(\'#name\').attr(\'value\', current_value);
current_value = $(this).parent("tr").children("td").eq(1).html();
$(\'#link1\').attr(\'value\', current_value);
current_value = $(this).parent("tr").children("td").eq(2).html();
$(\'#link2\').attr(\'value\', current_value);
});
});
</script></tr>';
}Index.php ban még ez maradt le
<body>
<table><tr><td><input type="text" size="49" name="name" id="name"></td><td><input type="text" size="20" id="link1" /></td><td><input type="text" size="30" id="link2"></td></tr>
</table> -
Sk8erPeter
nagyúr
Most komolyan azt hiszed, az a hiba, hogy szóközt tettél a $row után és a mysql_fetch array elé?
Ennyi jött át abból, amit írtam??
Elég elkeserítő.
Nem, az kifejezetten NEM hiba...Azért értelmezd is, amiket írnak neked.
Na jó, segítek, mert aztán sose lesz vége: {} - van egy ilyen üres blokkod, ahol nem csinálsz semmit a lekérdezés eredményével, erről beszéltem........
-
Abrion
senior tag
válasz
Sk8erPeter #2329 üzenetére
while($row = mysql_fetch_array($sql)){}
-
Abrion
senior tag
válasz
Sk8erPeter #2327 üzenetére
Ah kösz, nem is értem miért van itt szóköz, nem szoktam ilyen hibát elkövetni ><
lehet hogy 1x rosszul lett bekopizva
-
Sk8erPeter
nagyúr
Hát már rögtön abban van, hogy felhasználótól érkező megbízhatatlan adatot eleve nem adunk át közvetlenül (mindenféle escape-elés nélkül) SQL query-be.
Meg a mysql_query() és társaihoz hasonló függvények használata manapság már eleve felejtős. (Lásd pl. cucka kolléga korábban belinkelte az erről szóló hivatalos "hírt" is (deprecated lesz).) PDO-t használd, aztán később jöhetnek komolyabb ORM-ek is, ha úgy alakul."ha gyorsan írok az inputba akkor a lekérdezés megáll és kilistáz minden rekordot az mysql tableból."
Ha kilistázott minden rekordot, akkor nem "állt le" a lekérdezés.while($row = mysql_fetch_array($sql)){}
Így fejezed be, de most itt a while-nál tényleg üres blokk van, vagy csak lespóroltad innen a többi bepötyögését?Ha a $_POST["sendValue"] üres, akkor persze, hogy az összeset ki fogja listázni.
Léteznie kell name="sendValue" attribútumokkal rendelkező inputnak, amibe a felhasználó pötyögi az adatokat. -
Abrion
senior tag
ahogy elnézem, senki nem talált benne hibát
-
Abrion
senior tag
Jquery
<script type="text/javascript">
$(document).ready(function(){
$("#name").keyup(function(){
sendValue($(this).val());
});
});
function sendValue(str){
$.post("ajax.php",{ sendValue: str },
function(data){
$("#kereso").html(data);
});
}
</script>
ajax.php
$value = $_POST["sendValue"];
$sql=mysql_query("SELECT * FROM lista WHERE cim LIKE '%$value%' order by cim asc");
while($row = mysql_fetch_array($sql)){} -
Sk8erPeter
nagyúr
Mondjuk utánajárás helyett ráklattyolhatnál az előbb küldött linkemre, és nagyjából 10 másodperc eltöltése után értenéd, mire gondoltam.
Az általad belinkeltnél meg szintén nem tudom, mire akartál célozni, látom, és?
Ha meg nem létező id-ra próbálsz hivatkozni, akkor átirányít a friss.html-re. Ez is egy megoldás, vagy az, hogy kiírod, hogy nincs ilyen, és vaze.
Az AJAX-os problémádat meg kód nélkül nem fogjuk tudni megoldani.
-
Abrion
senior tag
válasz
Sk8erPeter #2321 üzenetére
Na de akkor mit szeretnél? Most JavaScriptes megoldás kell, vagy nem?
Az anchorok használatához semmi JavaScript-alapra nincs szükség, szimpla HTML-ben is megoldható az "odaugratás".
na ennek utána járok, nekem 8 milyen, csak pontosan oda ugorjon
"de abban egyetértek hogy legyen benne egy hszre link, de a hszhez ugrásban nem 100%an jó"
Mi nem jó?Itt megint nem vágom, mire gondoltál.
ere értetemA linket amit írtál, azt meg majd holnap megnézem.
Más
Nem zavar de az ajax nem müxik teljesen tökéletesen, ha gyorsan írok az inputba akkor a lekérdezés megáll és kilistáz minden rekordot az mysql tableból. -
Sk8erPeter
nagyúr
Ja, értem, OK, jogos a hsz.-áthelyezős téma, kicsit félreértettem.
"aminél az id törölve lett és az error.phphoz irányítót"
hát az elég gáz... röviden: az egy igénytelen fórum, igénytelen programozókkal"de abban egyetértek hogy legyen benne egy hszre link, de a hszhez ugrásban nem 100%an jó"
Mi nem jó?Itt megint nem vágom, mire gondoltál.
"nem értek a jshez, szal nekem ezt nyugodtan mutathatod"
Na de akkor mit szeretnél? Most JavaScriptes megoldás kell, vagy nem?
Az anchorok használatához semmi JavaScript-alapra nincs szükség, szimpla HTML-ben is megoldható az "odaugratás".Csináltam neked példát:
NÉZD MEG EZT!
Kattints az oldalon található linkekre! -
Abrion
senior tag
válasz
Sk8erPeter #2319 üzenetére
1: nem értek a jshez, szal nekem ezt nyugodtan mutathatod
2: találkoztam olyan fórummal aminél az id törölve lett és az error.phphoz irányítótde abban egyetértek hogy legyen benne egy hszre link, de a hszhez ugrásban nem 100%an jó
Amúgy képzeld ahhoz képest hogy amatőr vagyok jsben meg jqueryben, mondjuk ugyan az, megcsináltam majdnem egyedül az autocomplete ot
van egy jquery ajax és amit kilistáz ara klikre bekopiza az input valuejába az adatokat
nem láttál hsz áthelyezést?
például ha valaki rossz helyre ir vagy elterelődik a téma, akkor célszerű a megfelelő topikba helyezni a hszeket hogy ott folytassák a témát, és nem ritka, max itt nincs -
Sk8erPeter
nagyúr
Nem fogsz tudni jobbat az id-nál, lehet, hogy vannak alternatívák, de felesleges szarakodni.
Egyébként tulajdonképpen azért szeretnél ehhez jQuery-t, hogy ne egy gyors ugrás legyen a hsz.-re, hanem animálva legyen az odaugrás, vagy miért?
jQuery-vel is simán le tudod csekkolni, hogy létezik-e adott id-vel rendelkező elem, így nem fog hibát dobni:// ha nem létezik "nemletezoid"-val rendelkező elem, akkor ez hamis
if( $('#nemletezoid').length > 0 ){
// ...
}"például ha törlődik vagy áthelyeződik a hsz akkor errort fog visszadobni,"
1. nem fog errort dobni, ha alkalmazod a fenti kódot
2. de NE ALKALMAZD, hanem inkább kezeld ezt le szerveroldalon, a Te dolgod ellenőrizni, hogy ha az adott id-vel rendelkező hsz. nem létezik, akkor a következő létezőre ugorjon.
3. "áthelyeződni" adott fórumba érkező hsz.-ek elég ritkán szoktak. Itt nem tudom, mire gondolsz. Nem szoktak áthelyezni hsz.-t, inkább létrehoznak a másik fórumban egy új hsz.-t az adott tartalommal, az előzőt meg törlik. -
Abrion
senior tag
válasz
Peter Kiss #2317 üzenetére
ezt nem kell mondanod, értek a phphoz, csináltam egy fórumot magamnak, és elég jó lett, mondjuk még nem nyitottam meg, de majd hamarosan igen, a lényeg hogy, jqueryvel lehet ezt megcsinálni, és ahogy elnézem pár böngésző ugró jquery kódot, nem kellett sokat bele írni, így gondolom ennél is így van, amúgy az id keresés nem 100% an jó, például ha törlődik vagy áthelyeződik a hsz akkor errort fog visszadobni, ezért gondoltam egy fix dologra keresésnél, mivel kijelölődik az új hsz miért ne lenne inkább ara a keresés, de majd meggondolom az id keresést.
-
Abrion
senior tag
Hali
Az első új hszhez ugrás, csak kíváncsi vagyok jól gondolom e ki.
Az első folyamat, phpból jönne, kiszámolja hányas lapon van a legelső új hsz és betölti, miután betöltődött a topik, 1 jquery a böngészőt odaugrasztja ahol a hsz van, ara gondoltam hogy mivel az új hsz kijelölődik, legalább is a legtöbb fórumon így van, mondjuk a prohardver kivéted, és mondjuk egy jpgel jelöli meg a hszt, és ara kereshet rá a jquery, gondolom egy ilyen jquery nem sokból áll, és ezt a jqueryt a body lezárási elé kéne raknom
-
ubid
senior tag
Helló!
Akit esetleg érdekel Jquery-Ajax képzés, az írjon privátot.
( tartózkodástól függetlenül)
-
[pod]Diablo
őstag
válasz
Sk8erPeter #2296 üzenetére
Koszi szepen,tokeletes!: )
-
Sk8erPeter
nagyúr
"Én azt hittem, a JScript Java alapokra hajaz, de ott értéket adni "="-al szokás, nem ":"-al. Én legalábbis még sohasem csináltam másképpen."
Erre válaszul egy elég hiteles forrás:
https://developer.mozilla.org/en/JavaScript/A_re-introduction_to_JavaScript
"It's useful to start with an idea of the language's history. JavaScript was created in 1995 by Brendan Eich, an engineer at Netscape, and first released with Netscape 2 early in 1996. It was originally going to be called LiveScript, but was renamed in an ill-fated marketing decision to try to capitalize on the popularity of Sun Microsystem's Java language — despite the two having very little in common. This has been a source of confusion ever since."A JavaScript és a JScript megint csak nem ugyanaz. Te a JavaScript topicban vagy...
"Microsoft released a mostly-compatible version of the language called JScript with IE 3 several months later."
JScriptről továbbiak itt."Én legalábbis még sohasem csináltam másképpen. A JQuery-t ne keverd ebbe bele, ez JScript alapot érintő kérdés. Az igazi problémámnak nulla köze van konkrét lib szintű kód részletekhez."
1. Nem JScript, hanem JavaScript-alapot érintő kérdés, lásd a korábbiakat.
2. (A "JQuery-t ne keverd ebbe bele" részre reagálvaElőbb nem volt egyértelmű, konkrétan melyik szintaktikával van a problémád...
"Most hogy ezen juszt is elkezdesz rugózni.. irigylem a fene sok fölös energiádat."
Én meg csodálkozom az erősen offenzív és egyben destruktív stílusodon. Idejössz, segítséget kérsz, meg is adjuk neked, több kérdésedre is reagálok, Te meg úgy válaszolsz, mint akinek szidták az anyját. Ha valaki próbál neked segíteni, akkor cserébe lehetőleg ne rugdalózz. Felvilágosításként: a segítségként történő válaszadást meg egy programozási hibára történő figyelemfelhívást nem "rugózásnak" hívnak. Így az embernek egy kicsit elmegy a kedve a további válaszadástól. És most nagyon finoman reagáltam az általad alkalmazott, bicskakinyitó stílusra.Objektumok: [link], [link], plusz amire kérdezel, magára a szintaktikára ez jó referencia:
"An object is an unordered set of name/value pairs. An object begins with { (left brace) and ends with } (right brace). Each name is followed by : (colon) and the name/value pairs are separated by , (comma)."
Másik válasz:var o = {
r: 'some value',
t: 'some other value'
};
is functionally equivalent tovar o = new Object();
o.r = 'some value';
o.t = 'some other value'; -
coco2
őstag
válasz
Sk8erPeter #2310 üzenetére
Nekem spec ez itt:
var faszaObjektum = {
onChange: updatePreview,
onSelect: updateCoords,
aspectRatio: 1
};akkor is furcsa. Én azt hittem, a JScript Java alapokra hajaz, de ott értéket adni "="-al szokás, nem ":"-al. Én legalábbis még sohasem csináltam másképpen. A JQuery-t ne keverd ebbe bele, ez JScript alapot érintő kérdés. Az igazi problémámnak nulla köze van konkrét lib szintű kód részletekhez.
Azt hiszem egyszer már leírtam, hogy a példát szemlélés gyanánt ragadtam ki. Bele raktam az üres szintaktikai héj-ba egy szorzást, csak hogy valami legyen benne, ami értéket ad át oda meg vissza. Most hogy ezen juszt is elkezdesz rugózni.. irigylem a fene sok fölös energiádat. Ennyi erővel akár azt is megnézhetnéd nekem, milyen könyv van a könyvespolcodon JScript alapokról, mert a jelek szerint a Java alapok nem lesznek elegendőek.
-
Sk8erPeter
nagyúr
"szívesebben láttam volna explicite kibontva ezt a (szerintem) mákos tésztát, de a szerzőnek más volt a véleménye."
Hogy kellett volna "explicite kibontani"? Magyarázza el a JavaScript vagy jQuery alapjait?Vagy nem tudom, mire gondolsz.
Egyébként a kóddal nincs baj, ez így elég átlátható.Tulajdonképpen röviden paraméterként átad egy objektumot, amiben az onChange és onSelect eseményekre mutató függvénypointereket tárolja (tehát milyen függvények hívódjanak meg az események bekövetkeztekor), második paraméterként pedig egy anonim függvényt ad át.
Ezt más szintaktikával is meg lehetett volna írni akár, pl. így:
var faszaObjektum = {
onChange: updatePreview,
onSelect: updateCoords,
aspectRatio: 1
};
$('#target').Jcrop(faszaObjektum, function () {
// Use the API to get the real image size
var bounds = this.getBounds();
boundx = bounds[0];
boundy = bounds[1];
// Store the API in the jcrop_api variable
jcrop_api = this;
});De egybevonva látszik, mivel hívod meg a Jcrop-ot az adott DOM-elemre. Ez ízlés kérdése, hogy írod meg.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2308 üzenetére
Akkor még jó, hogy egymást oktatgatjuk.
-
Peter Kiss
őstag
válasz
Sk8erPeter #2307 üzenetére
Azért, mert nekem írtad a "language="JavaScript"" cuccot.
Pontosan tudom, hogy lassan 13 éve nincs ez használatban.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2306 üzenetére
Ezt most miért nekem írod?
Tisztában vagyok vele, elég sok OO-kódot írtam már JavaScriptben is, így nem is kértem magyarázatot, hogy az mire való - de az említett példában totálisan értelmetlen (inkább erőltetett) volt a használata.Nem is objektumokat szeretett volna létrehozni, hanem szimpla számösszeszorzást végeztetni egy a és b számmal, és megvizsgálni az eredményt (vagyis a függvény visszatérési értékét).
-
Peter Kiss
őstag
válasz
Sk8erPeter #2301 üzenetére
Névtelen függvényeket akkor jó előszedni, ha a Javascript OO jellegével szeretnénk foglalkozni egyszerűbb megérteni.
var FirstBlood = function () {
alert("Constructing FirstBlood");
};
var t = new FirstBlood(); -
coco2
őstag
Ejnye, mire megtaláltam ezt a részletet, már nem tudom beleeditálni az előző felírásomba. Szóval futottam a Jcrop libbel egy kört, és egy ilyenbe akadtam bele:
$('#target').Jcrop({
onChange: updatePreview,
onSelect: updateCoords,
aspectRatio: 1
},function(){
// Use the API to get the real image size
var bounds = this.getBounds();
boundx = bounds[0];
boundy = bounds[1];
// Store the API in the jcrop_api variable
jcrop_api = this;
});Részemről szívesebben láttam volna explicite kibontva ezt a (szerintem) mákos tésztát, de a szerzőnek más volt a véleménye. Ahogy elnézem ezt a object.Jcrop(,)-ot, kettő paramétere van, és mindkettőt blokkba zárta. A második blokkban sima érték adások vannak, de az első blokkban azok a kettőspontok, azok mik?
-
coco2
őstag
válasz
Sk8erPeter #2303 üzenetére
Sry éppen a lap aljára ért a topic, és azt hittem az az utolsó felírás.
"Javascript" okés, akkor ezután majd nem használom.
A felvésett funkcióblokk kezelési kérdés egy elszeparált példa. Azt a célt szolgálja, hogy megérthessem a lényeget.
-
coco2
őstag
válasz
Peter Kiss #2300 üzenetére
Ezekről a funkció blokkokról nem találtam könyvekben "official" véleményt. Amik normális könyvek a kezembe kerültek, ezt valahogy egyik sem taglalta. Pusztán a szintaktikája révén:
var valami= (function( ) { })( );
az a bizonyos zárójel nekem olybá tűnt, hogy ez a "valami" változó igazából egy függvényt fog tárolni, mint pld a C++ függvény változói, ami rajta keresztül hívható, és ez mindössze egy másik alakja ennek:
var valami= function( ) { };
Akkor ezt benéztem volna?
Ha akad egy jó könyv, amelyik részletesen taglalja a funkció blokkokat is, és legalább csak egy kicsit kevésbé érthetetlenül absztrakt, mint az Angst Erzsébet könyv, szívesen elolvasom belőle.
language="javascript"> <--
Ezt hol olvastad?
Töltöttem le néhány weblapot, és firefox helyett notepaddal néztem meg. Ott olvastam. Ez valami bad practice lenne? Hamarosan jön az xhtml, az mit mond erről?
-
Sk8erPeter
nagyúr
Minek ilyen nyakatekerten megoldani a függvényeket? Nem igazán világos itt az anonim funkció szerepe sem, hogy tulajdonképpen minek - nem sok értelme van.
Átalakítva valami normálisan értelmezhető formára:
function multiply( a, b ){
return a * b;
}
alert( multiply(3, 4) ); // 12Így még lehet is látni, mit akar csinálni a függvényed.
Egyébként ha nagyon ragaszkodsz - az okát nem látom - a saját függvényedhez, akkor az anonim funkciónál sincs sok értelme egyből megadni a bemenő paramétereket.
Példa:var proven = function (a, b) { return a * b; };
alert( proven(3, 4) ); // 12Így pontosan ugyanaz a függvény meghívásának módja.
=====
(#2300) Athlon64+ : sajnos nagyon sok tutorialban a mai napig benne maradt ez a language="JavaScript" baromság. Ez még nagyon régen használatos volt, de már elég régóta kiment a divatból - tehát "deprecated"-nek minősül (pl.). Itt is találtam egy oldalt, ahol arról vakerásznak, miért is kell(ett) ez az attribútum. Sajnos az ilyeneket nem törlik. Volt ilyen, ma már nincs.
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy A14 64GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! MSI Z690 i7 12700K 32GB DDR4 1TB SSD RX 6800 16GB Phanteks P600S Cooler Master 750W
- 0% THM 3 havi részlet! Beszámítás, 27% áfa, Sapphire Nitro+ RX 9070XT 16GB készletről
- 14" Dell Latitude laptopok: 5400, 5480, 5490, 7480, E7440, E7450 / SZÁMLA + GARANCIA
- Bomba ár! Lenovo ThinkPad T490s - i7-8GEN I 16GB I 256SSD I 14" WQHD HDR I Cam I W11 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest