root/java/sql-vyuka/web/hlavni.js @ 22:e56b79cc18a9

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

JavaScript?: lokalizace a zjednodušení.

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