root/java/sql-vyuka/web/hlavni.js @ 21:b7574b90e272

Revision 21:b7574b90e272, 3.0 KB (checked in by František Kučera <franta-hg@…>, 15 years ago)

Stavová hláška pro načítání historie.

Line 
1/** ID html prvků */
2const vstupniPole = 'vstupniPole';
3const vystupniPole = 'vystupniPole';
4const napovedniPole = 'napovedniPole';
5const stavovePole = 'stavovePole';
6
7
8/**
9 * Aby to fungovalo i v MSIE 6.
10 * @return AJAXový objekt.
11 */
12function getXmlHttpRequestObject() {
13    if (window.XMLHttpRequest) {
14        return new XMLHttpRequest();
15    } else if(window.ActiveXObject) {
16        return new ActiveXObject("Microsoft.XMLHTTP");
17    } else {
18        alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox.");
19        return null;
20    }
21}
22
23/** Náš AJAXový objekt. */
24var ajax = getXmlHttpRequestObject();
25
26/**
27 * Vrací vstup od uživatele.
28 * @return SQL příkaz zadaný uživatelem.
29 **/
30function getSQL() {
31    return document.aplikace.vstupniPole.value;
32}
33
34/**
35 * Zobrazí text na požadovaném místě.
36 * @param text text k zobrazení
37 * @param kde id prvku, do kterého se má text vypsat
38 **/
39function zobraz(text, kde) {
40    if (kde == vstupniPole) {
41        document.aplikace.vstupniPole.value = text;
42    } else if (kde == stavovePole)  {
43        document.aplikace.stavovePole.value = text;
44    } else {
45        document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
46    }
47}
48
49/**
50 * Zobrazí text ve výstupním poli.
51 * @param text HTML text k zobrazení
52 **/
53function zobrazVystup(text) {
54    zobraz(text, vystupniPole);
55}
56
57/**
58 * Zobrazí text ve vstupním poli.
59 * Požijeme pro načtení SQL příkazu z historie.
60 * @param text prostý text k zobrazení
61 **/
62function zobrazVstup(text) {
63    zobraz(text, vstupniPole);
64}
65
66/**
67 * Zobrazí text ve vstupním poli.
68 * Požijeme pro načtení SQL příkazu z historie.
69 * @param text prostý text k zobrazení
70 **/
71function zobrazStav(text) {
72    zobraz(text, stavovePole);
73}
74
75/**
76 * Zobrazí text ve poli pro nápovědu.
77 * @param text text k zobrazení
78 **/
79function zobrazNapovedu(text) {
80    zobraz(text, napovedniPole);
81}
82
83/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
84function ajaxVykonatSQL() {
85    if (ajax.readyState == 4 || ajax.readyState == 0) {
86        zobrazStav('Probíhá zpracování SQL příkazu…');
87        ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
88        ajax.onreadystatechange = function() {
89            if (ajax.readyState == 4) {
90                zobrazVystup(ajax.responseText);
91                zobrazStav('');
92            }
93        };
94        ajax.send(null);
95    }
96}
97
98
99/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
100function ajaxZobrazitHistorii() {
101    if (ajax.readyState == 4 || ajax.readyState == 0) {
102        zobrazStav('Načítá se historie…');
103        ajax.open("POST", 'ajax?akce=historie', true);
104        ajax.onreadystatechange = function() {
105            if (ajax.readyState == 4) {
106                zobrazVystup(ajax.responseText);
107                zobrazStav('');
108            }
109        };
110        ajax.send(null);
111    }
112}
Note: See TracBrowser for help on using the browser.