root/java/sql-vyuka/web/hlavni.js @ 23:6bbbd371e813

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

JavaScript?: lokalizace a zjednodušení.

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(document.lokalizace.nepodporovany.value);
19        return null;
20    }
21}
22
23
24/** Náš AJAXový objekt. */
25var ajax = getXmlHttpRequestObject();
26
27
28/**
29 * Vrací vstup od uživatele.
30 * @return SQL příkaz zadaný uživatelem.
31 **/
32function getSQL() {
33    return document.aplikace.vstupniPole.value;
34}
35
36
37/**
38 * Zobrazí text na požadovaném místě.
39 * @param text text k zobrazení. V případě formulářů prostý text, v ostatních případech HTML text.
40 * @param kde id prvku, do kterého se má text vypsat.
41 **/
42function zobraz(text, kde) {
43    if (kde == vstupniPole) {
44        document.aplikace.vstupniPole.value = text;
45    } else if (kde == stavovePole)  {
46        document.aplikace.stavovePole.value = text;
47    } else {
48        document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
49    }
50}
51
52
53/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
54function ajaxVykonatSQL() {
55    if (ajax.readyState == 4 || ajax.readyState == 0) {
56        zobraz(document.lokalizace.probihaSQL.value, stavovePole);
57        ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
58        ajax.onreadystatechange = function() {
59            if (ajax.readyState == 4) {
60                zobraz(ajax.responseText, vystupniPole);
61                zobraz('', stavovePole);
62            }
63        };
64        ajax.send(null);
65    }
66}
67
68
69/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
70function ajaxZobrazitHistorii() {
71    if (ajax.readyState == 4 || ajax.readyState == 0) {
72        zobraz(document.lokalizace.probihaHistorie.value, stavovePole);
73        ajax.open("POST", 'ajax?akce=historie', true);
74        ajax.onreadystatechange = function() {
75            if (ajax.readyState == 4) {
76                zobraz(ajax.responseText, vystupniPole);
77                zobraz('', stavovePole);
78            }
79        };
80        ajax.send(null);
81    }
82}
Note: See TracBrowser for help on using the browser.