Archívum - Május 22, 2008
Egyedi esemény és eseménykezelő javascript-ben.
Gondolatban elkezdtem építeni egy webes alkalmazás futtató környezetet. Az alkalmazások amik ebben futnak, értelem szerűen statikus és dinamikus html+css+js kódok összessége.
Alapvetően két különböző kisalkalmazást különböztetek meg:
- Felhasználói beavatkozást igénylő
- Felhasználói beavatkozást nem igénylő
A felhasználói beavatkozást igénylő kisalkalmazások adatokat kérnek be és azokkal végeznek munkát. Például új rekord rögzítéséhez kér be adatokat.
A felhasználói beavatkozást nem igénylő kisalkalmazások többnyire az oldal szerkezeti változásait hivatottak elvégezni. Többnyire olyan folyamatok következményei amelyek igényelnek felhasználói beavatkozás, például egy adatbevitel után frissít egy táblázatot.
Alapvetően a felhasználói beavatkozást nem igénylő kisalkalmazásokkal nem lenne semmi macera, mert lineárisan futnak le (a részfolyamatok egymást követik), viszont a felhasználói beavatkozást igénylő folyamatoknál, míg egy betöltött űrlappal vacakol a felhasználó, megszakad a kisalkalmazás folyamatossága. Nem beszélve arról, hogy az űrlap folyamata több különböző állapotba is kerülhet a folyamat végére. Lehet ugye igaz, ha a tőle elvárt folyamat teljesült, lehet ugye hamis, ha nem teljesült és keletkezhetett hiba is!
Ezek alapján ha szétbontom a kisalkalmazást több különálló folyamatra:
Adatbekérő űrlap betöltése és megjelenítése
Adatbekérő űrlap dolgozik (ez nem tudjuk meddig fog tartani, ezért itt fizikilag megszakad a folyamat)
Adatbekérő űrlap eredményének elbírálása és az eredmények alapján a folytatás
Arra gondoltam, hogy lehetne minden kisalkalmazásnak egy folyamatlistája logikai kitételekkel együtt. Így ha eljut a folyamat az állapottalansághoz akkor valójában megszakad a kisalkalmazás futtatása és a kisalkalmazás értelmező fülel, várja az éppen folyamatban lévő, de számára állapottalan folyamat kimenetét. Ha az végez, az értelmező elkapja az eredményt, behelyettesíti a folyamatlistába és minden halad tovább.
Alapvetően két különböző kisalkalmazást különböztetek meg:
- Felhasználói beavatkozást igénylő
- Felhasználói beavatkozást nem igénylő
A felhasználói beavatkozást igénylő kisalkalmazások adatokat kérnek be és azokkal végeznek munkát. Például új rekord rögzítéséhez kér be adatokat.
A felhasználói beavatkozást nem igénylő kisalkalmazások többnyire az oldal szerkezeti változásait hivatottak elvégezni. Többnyire olyan folyamatok következményei amelyek igényelnek felhasználói beavatkozás, például egy adatbevitel után frissít egy táblázatot.
Alapvetően a felhasználói beavatkozást nem igénylő kisalkalmazásokkal nem lenne semmi macera, mert lineárisan futnak le (a részfolyamatok egymást követik), viszont a felhasználói beavatkozást igénylő folyamatoknál, míg egy betöltött űrlappal vacakol a felhasználó, megszakad a kisalkalmazás folyamatossága. Nem beszélve arról, hogy az űrlap folyamata több különböző állapotba is kerülhet a folyamat végére. Lehet ugye igaz, ha a tőle elvárt folyamat teljesült, lehet ugye hamis, ha nem teljesült és keletkezhetett hiba is!
Ezek alapján ha szétbontom a kisalkalmazást több különálló folyamatra:
Adatbekérő űrlap betöltése és megjelenítése
Adatbekérő űrlap dolgozik (ez nem tudjuk meddig fog tartani, ezért itt fizikilag megszakad a folyamat)
Adatbekérő űrlap eredményének elbírálása és az eredmények alapján a folytatás
Arra gondoltam, hogy lehetne minden kisalkalmazásnak egy folyamatlistája logikai kitételekkel együtt. Így ha eljut a folyamat az állapottalansághoz akkor valójában megszakad a kisalkalmazás futtatása és a kisalkalmazás értelmező fülel, várja az éppen folyamatban lévő, de számára állapottalan folyamat kimenetét. Ha az végez, az értelmező elkapja az eredményt, behelyettesíti a folyamatlistába és minden halad tovább.
Furfangos childNodes
Van egy HTML kod:Azt tudom, hogy az "UL" elemnek van 4 gyereke. A Javascript kod:Ha modositom a HTML kodot igy:Az UL-nek ebben az esetben is csak 4 gyereke van, igaz? En ugy gondolom, hogy a "Sub child" nem az UL gyereke hanem annak a LI elemnek a gyereke amelyben benne van, igaz?
Koszi!
■ <ul id="zoli">
<li>Alec</li>
<li>Daniel</li>
<li>William</li>
<li>Stephen</li>
</ul>
var ulElem = document.getElementById("zoli");
ulElem.childNodes[0]; // Alec
ulElem.childNodes[1]; // Daniel
ulElem.childNodes[2]; // William
ulElem.childNodes[3]; // Stephen
<ul id="zoli">
<li>Alec
<li>Sub child</li>
</li>
<li>Daniel</li>
<li>William</li>
<li>Stephen</li>
</ul>
Koszi!
Nem látható ALIAS létrehozása
Sziasztok!
Szükségem lenne valami ilyesmire:
SELECT ID, Name, (ID -1) AS id2 from tabla1 WHERE id2 >1
Azt tudom, hogy ezt így nem lehet megcsinálni, mert mező ALIAS nem lehet a WHERE-ben.
Ezért egy kiskaput használok:
SELECT ID, Name, (ID -1) AS id2 from tabla1 HAVING id2 >1
Bár nem tudom, hogy ez lassít, vagy sem a lekérdezésen.
(természetesen az (ID -1) egy bonyolultabb kifejezés és egy joint-ból következik, ezért nem tudok hivatkozni rá csak így. Most nem részletezném miért…)
A problémám viszont az ezzel, hogy ennek a SELECT-nek az eredményét egy másik SELECT-ben szeretném felhasználni.
SELECT * from tabla2 where id in(SELECT ID, Name, (ID -1) AS id2 from tabla1 HAVING id2 >1)
Viszont itt szerepelnek azok az ALIAS-ok amik itt már nem kellenének.
Hogy lehet ezt kiküszöbölni?
Üdv:
Zoli
■ Szükségem lenne valami ilyesmire:
SELECT ID, Name, (ID -1) AS id2 from tabla1 WHERE id2 >1
Azt tudom, hogy ezt így nem lehet megcsinálni, mert mező ALIAS nem lehet a WHERE-ben.
Ezért egy kiskaput használok:
SELECT ID, Name, (ID -1) AS id2 from tabla1 HAVING id2 >1
Bár nem tudom, hogy ez lassít, vagy sem a lekérdezésen.
(természetesen az (ID -1) egy bonyolultabb kifejezés és egy joint-ból következik, ezért nem tudok hivatkozni rá csak így. Most nem részletezném miért…)
A problémám viszont az ezzel, hogy ennek a SELECT-nek az eredményét egy másik SELECT-ben szeretném felhasználni.
SELECT * from tabla2 where id in(SELECT ID, Name, (ID -1) AS id2 from tabla1 HAVING id2 >1)
Viszont itt szerepelnek azok az ALIAS-ok amik itt már nem kellenének.
Hogy lehet ezt kiküszöbölni?
Üdv:
Zoli
Demo of New JavaScript Editor in NetBeans IDE 6.1
Főleg az intelligens kódkiegészítés funkcióját emelik ki
■ Masters of Graphic Design: 25+ Interviews
Érdekes gyűjtemény webdizájnerekkel készült interjúkból
■ onKeyDown megadása utólag
Helló, a problémám a következő. A kollégák szeretnék, hogy egy űrlap weben keresztüli kitöltésekor TAB helyett ENTER lenyomásával is a következő mezőre juthassanak (értelemszerűen ENTER ne küldje el az űrlapot).
Ez eddig nem túl extra dolog, találtam rá JavaScriptes megoldást.
Ez azt igényli, hogy a HTML-kódban az INPUT elem kapjon paramétereket, pl. így:A gond az, hogy egy olyan rendszert használunk, ami a HTML-t nagyrészt automatikusan generálja mindenféle bemeneti adatokból, így az onKeyDown és az onFocus értékét utólag kellene ráapplikálni az INPUT elemre.
Szoktunk máskor hasonlóakat csinálni, a lényege az, hogy a HTML-kód végére kiíratok egy JS-et, ami megadja a szükséges paramétereket. Pl.:De az onKeyDown és az onFocus értékét nem tudom így megadni, mert kidob mindenféle hibaüzenettel, pl., hogy "event" nincs definiálva, meg ilyenek.
Van erre valakinek valami megoldása, egyáltalán, lehetséges ez?
Köszi!
■ Ez eddig nem túl extra dolog, találtam rá JavaScriptes megoldást.
Ez azt igényli, hogy a HTML-kódban az INPUT elem kapjon paramétereket, pl. így:
<input type="text" name="Q1" size="10" onkeydown="return tabOnEnter (this, event);" onFocus="this.select()">
Szoktunk máskor hasonlóakat csinálni, a lényege az, hogy a HTML-kód végére kiíratok egy JS-et, ami megadja a szükséges paramétereket. Pl.:
document.getElementById['hihihi'].onChange=függvénynév()
Van erre valakinek valami megoldása, egyáltalán, lehetséges ez?
Köszi!
Oldal betöltési probléma (Sever Error, premature end of script header: index.php)
Sziasztok!
már egy ideje küzködöm egy problémával, a segítségeteket szeretném kérni. Van egy php ban írt oldalam, amelyiknél bizonyos körülmények között van egy olyan hibajelenség, hogy 30mp -ig homokórázik, aztán ad egy hibaüzenetet: Sever Error, premature end of script header: index.php
- a php.ini ben a "max_execution_time" 180sec -re van állítva, ellenőriztem phpinfo()-val, illetve le is teszteltem, ez szerintem rendben.
- a hiba okát is felderítettem. Az oldal akkor töltődik be lassan, ha előtte az admin felületen pl. 10-15 db képet feltöltök. A php motor ilyenkor az imagemagick "convert" programjának segítségével átméretezi a képeket optimális méretre, majd azokat elmenti a saját cache tárba. A szerveremen ez a folyamat lassú, és ez sajnos több időbe telik, mint 30 mp. Az oldal viszont 30mp után újratölti magát, és annak okán, hogy a cacheba még nincsenek benne azok a képek, amiknek benne kell lennie, hibára fut.
- a hiba egy typo3 cms-el készült oldalon jelentkezik. Typo3-al foglalkozó levelezőlistákon már többször is jeleztem a problémát, valamiért nem foglalkoznak a problémajelzésemmel. (Ezek szerint az ő kódjuk teljesen rendben van, a hiba nálam van...)
- A "premature end osf script header" hibaüzenetnek is utánaolvastam: pl. http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#premature-script-headers - sajnos itt már elvesztettem a fonalat.
Kérem segítsen valaki a problémát megoldani (akár magánba is - a részleteket megbeszéljük)- tömören azt szeretném, hogy ha a képek legenerálása tovább tart mint 30 sec, akkor homokórázzon tovább, és ne dobja ezt a hibaüzenetet.
Köszönöm előre is
■ már egy ideje küzködöm egy problémával, a segítségeteket szeretném kérni. Van egy php ban írt oldalam, amelyiknél bizonyos körülmények között van egy olyan hibajelenség, hogy 30mp -ig homokórázik, aztán ad egy hibaüzenetet: Sever Error, premature end of script header: index.php
- a php.ini ben a "max_execution_time" 180sec -re van állítva, ellenőriztem phpinfo()-val, illetve le is teszteltem, ez szerintem rendben.
- a hiba okát is felderítettem. Az oldal akkor töltődik be lassan, ha előtte az admin felületen pl. 10-15 db képet feltöltök. A php motor ilyenkor az imagemagick "convert" programjának segítségével átméretezi a képeket optimális méretre, majd azokat elmenti a saját cache tárba. A szerveremen ez a folyamat lassú, és ez sajnos több időbe telik, mint 30 mp. Az oldal viszont 30mp után újratölti magát, és annak okán, hogy a cacheba még nincsenek benne azok a képek, amiknek benne kell lennie, hibára fut.
- a hiba egy typo3 cms-el készült oldalon jelentkezik. Typo3-al foglalkozó levelezőlistákon már többször is jeleztem a problémát, valamiért nem foglalkoznak a problémajelzésemmel. (Ezek szerint az ő kódjuk teljesen rendben van, a hiba nálam van...)
- A "premature end osf script header" hibaüzenetnek is utánaolvastam: pl. http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#premature-script-headers - sajnos itt már elvesztettem a fonalat.
Kérem segítsen valaki a problémát megoldani (akár magánba is - a részleteket megbeszéljük)- tömören azt szeretném, hogy ha a képek legenerálása tovább tart mint 30 sec, akkor homokórázzon tovább, és ne dobja ezt a hibaüzenetet.
Köszönöm előre is