JavaScript: zjednodušení funkcí + zobrazování hlášky o probíhajícím SQL dotazu (hodí se u těch, které trvají dlouho).
2 const vstupniPole = 'vstupniPole';
3 const vystupniPole = 'vystupniPole';
4 const napovedniPole = 'napovedniPole';
8 * Aby to fungovalo i v MSIE 6.
9 * @return AJAXový objekt.
11 function getXmlHttpRequestObject() {
12 if (window.XMLHttpRequest) {
13 return new XMLHttpRequest();
14 } else if(window.ActiveXObject) {
15 return new ActiveXObject("Microsoft.XMLHTTP");
17 alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox.");
22 /** Náš AJAXový objekt. */
23 var ajax = getXmlHttpRequestObject();
26 * Vrací vstup od uživatele.
27 * @return SQL příkaz zadaný uživatelem.
30 return document.aplikace.vstupniPole.value;
34 * Zobrazí text na požadovaném místě.
35 * @param text text k zobrazení
36 * @param kde id prvku, do kterého se má text vypsat
38 function zobraz(text, kde) {
39 if (kde == vstupniPole) {
40 document.aplikace.vstupniPole.value = text;
42 document.getElementById(kde).innerHTML = text + '<p> <!-- Šťastné hackování ;-) --></p>';
47 * Zobrazí text ve výstupním poli.
48 * @param text text k zobrazení
50 function zobrazVystup(text) {
51 zobraz(text, vystupniPole);
55 * Zobrazí text ve vstupním poli.
56 * Požijeme pro načtení SQL příkazu z historie.
57 * @param text text k zobrazení
59 function zobrazVstup(text) {
60 zobraz(text, vstupniPole);
64 * Zobrazí text ve poli pro nápovědu.
65 * @param text text k zobrazení
67 function zobrazNapovedu(text) {
68 zobraz(text, napovedniPole);
71 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
72 function ajaxVykonatSQL() {
73 if (ajax.readyState == 4 || ajax.readyState == 0) {
75 zobrazVstup('Probíhá zpracování SQL příkazu…');
76 ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(sql), true);
77 ajax.onreadystatechange = function() {
78 if (ajax.readyState == 4) {
79 zobrazVystup(ajax.responseText);
88 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
89 function ajaxZobrazitHistorii() {
90 if (ajax.readyState == 4 || ajax.readyState == 0) {
91 ajax.open("POST", 'ajax?akce=historie', true);
92 ajax.onreadystatechange = function() {
93 if (ajax.readyState == 4) {
94 zobrazVystup(ajax.responseText);