ugrás a tartalomhoz

Archívum - Május 22, 2008 - Fórum téma

Egyedi esemény és eseménykezelő javascript-ben.

s_volenszki · 2008. Május. 22. (Cs), 20.48
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.

Furfangos childNodes

zoliky · 2008. Május. 22. (Cs), 16.42
Van egy HTML kod:
<ul id="zoli">
  <li>Alec</li>
  <li>Daniel</li>
  <li>William</li>
  <li>Stephen</li>
</ul>
Azt tudom, hogy az "UL" elemnek van 4 gyereke. A Javascript kod:
var ulElem = document.getElementById("zoli");

ulElem.childNodes[0]; // Alec
ulElem.childNodes[1]; // Daniel
ulElem.childNodes[2]; // William
ulElem.childNodes[3]; // Stephen
Ha modositom a HTML kodot igy:
<ul id="zoli">
  <li>Alec
          <li>Sub child</li>
  </li>
  <li>Daniel</li>
  <li>William</li>
  <li>Stephen</li>
</ul>
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!
 

Nem látható ALIAS létrehozása

world-s · 2008. Május. 22. (Cs), 16.08
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
 

onKeyDown megadása utólag

Attus · 2008. Május. 22. (Cs), 09.49
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:

<input type="text" name="Q1" size="10" onkeydown="return tabOnEnter (this, event);" onFocus="this.select()">
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.:

document.getElementById['hihihi'].onChange=függvénynév()
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!
 

Oldal betöltési probléma (Sever Error, premature end of script header: index.php)

Matyi Gábor · 2008. Május. 22. (Cs), 09.36
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