java/sql-vyuka/web/hlavni.js
changeset 10 5d6592e753c0
parent 6 817ec319b143
child 11 267cce6b9d77
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/sql-vyuka/web/hlavni.js	Thu May 28 21:19:06 2009 +0200
     1.3 @@ -0,0 +1,100 @@
     1.4 +/** ID html prvků */
     1.5 +const vstupniPole = 'vstupniPole';
     1.6 +const vystupniPole = 'vystupniPole';
     1.7 +const napovedniPole = 'napovedniPole';
     1.8 +
     1.9 +
    1.10 +/**
    1.11 + * Aby to fungovalo i v MSIE 6.
    1.12 + * @return AJAXový objekt.
    1.13 + */
    1.14 +function getXmlHttpRequestObject() {
    1.15 +    if (window.XMLHttpRequest) {
    1.16 +        return new XMLHttpRequest();
    1.17 +    } else if(window.ActiveXObject) {
    1.18 +        return new ActiveXObject("Microsoft.XMLHTTP");
    1.19 +    } else {
    1.20 +        alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox.");
    1.21 +        return null;
    1.22 +    }
    1.23 +}
    1.24 +
    1.25 +/** Náš AJAXový objekt. */
    1.26 +var ajax = getXmlHttpRequestObject();
    1.27 +
    1.28 +/**
    1.29 + * Vrací vstup od uživatele.
    1.30 + * @return SQL příkaz zadaný uživatelem.
    1.31 + **/
    1.32 +function getSQL() {
    1.33 +    return document.getElementById(vstupniPole).innerHTML;
    1.34 +}
    1.35 +
    1.36 +/**
    1.37 + * Zobrazí text na požadovaném místě.
    1.38 + * @param text text k zobrazení
    1.39 + * @param kde id prvku, do kterého se má text vypsat
    1.40 + **/
    1.41 +function zobraz(text, kde) {
    1.42 +    document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
    1.43 +}
    1.44 +
    1.45 +/**
    1.46 + * Zobrazí text ve výstupním poli.
    1.47 + * @param text text k zobrazení
    1.48 + **/
    1.49 +function zobrazVystup(text) {
    1.50 +    zobraz(text, vystupniPole);
    1.51 +}
    1.52 +
    1.53 +/**
    1.54 + * Zobrazí text ve vstupním poli.
    1.55 + * Požijeme pro načtení SQL příkazu z historie.
    1.56 + * @param text text k zobrazení
    1.57 + **/
    1.58 +function zobrazVstup(text) {
    1.59 +    zobraz(text, vstupniPole);
    1.60 +}
    1.61 +
    1.62 +/**
    1.63 + * Zobrazí text ve poli pro nápovědu.
    1.64 + * @param text text k zobrazení
    1.65 + **/
    1.66 +function zobrazNapovedu(text) {
    1.67 +    zobraz(text, napovedniPole);
    1.68 +}
    1.69 +
    1.70 +/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
    1.71 +function ajaxVykonatSQL() {
    1.72 +    if (ajax.readyState == 4 || ajax.readyState == 0) {
    1.73 +        ajax.open("GET", 'vysledek.html', true);
    1.74 +        ajax.onreadystatechange = vykonatSQLVypis;
    1.75 +        ajax.send(null);
    1.76 +    }
    1.77 +    //zobrazNapovedu('Nějaká nápověda k danému příkazu.');
    1.78 +    //zobrazNapovedu(escape(getSQL()));
    1.79 +}
    1.80 +
    1.81 +/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
    1.82 +function vykonatSQLVypis() {
    1.83 +    if (ajax.readyState == 4) {
    1.84 +        zobrazVystup(ajax.responseText);
    1.85 +    }
    1.86 +}
    1.87 +
    1.88 +
    1.89 +/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
    1.90 +function ajaxZobrazitHistorii() {
    1.91 +    if (ajax.readyState == 4 || ajax.readyState == 0) {
    1.92 +        ajax.open("GET", 'historie.html', true);
    1.93 +        ajax.onreadystatechange = zobrazitHistoriiVypis;
    1.94 +        ajax.send(null);
    1.95 +    }
    1.96 +}
    1.97 +
    1.98 +/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
    1.99 +function zobrazitHistoriiVypis() {
   1.100 +    if (ajax.readyState == 4) {
   1.101 +        zobrazVystup(ajax.responseText);
   1.102 +    }
   1.103 +}