Niels: Ich suche Hilfe um ein AJAX-Script Mediawiki tauglich zu machen.

Beitrag lesen

Hi,
habe ein an sich funktionierendes AJAX-Script (Daten aus einem Formular werden an ein PHP-Script geschickt, wo eine Datenbankabfrage erfolgt und die Ergabnisse anschließend ausgegeben.). Dieses möchte ich nun als Spezialseite in mein Wiki integrieren.

Bisherige Index.html:

  
<script type="text/javascript">var http_request = false;  
   function makeRequest(url, parameters) {  
      http_request = false;  
      if (window.XMLHttpRequest) { // Mozilla, Safari,...  
         http_request = new XMLHttpRequest();  
         if (http_request.overrideMimeType) {  
         	// set type accordingly to anticipated content type  
            //http_request.overrideMimeType('text/xml');  
            http_request.overrideMimeType('text/html');  
         }  
      } else if (window.ActiveXObject) { // IE  
         try {  
            http_request = new ActiveXObject("Msxml2.XMLHTTP");  
         } catch (e) {  
            try {  
               http_request = new ActiveXObject("Microsoft.XMLHTTP");  
            } catch (e) {}  
         }  
      }  
      if (!http_request) {  
         alert('Cannot create XMLHTTP instance');  
         return false;  
      }  
      http_request.onreadystatechange = alertContents;  
      http_request.open('GET', url + parameters, true);  
      http_request.send(null);  
   }  
  
   function alertContents() {  
      if (http_request.readyState == 4) {  
         if (http_request.status == 200) {  
            //alert(http_request.responseText);  
            result = http_request.responseText;  
            document.getElementById('myspan').innerHTML = result;  
         } else {  
            alert('There was a problem with the request.');  
         }  
      }  
   }  
  
   function get(obj) {  
      var getstr = "?";  
      for (i=0; i<obj.childNodes.length; i++) {  
         if (obj.childNodes[i].tagName == "INPUT") {  
            if (obj.childNodes[i].type == "text") {  
               getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";  
            }  
            if (obj.childNodes[i].type == "checkbox") {  
               if (obj.childNodes[i].checked) {  
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";  
               } else {  
                  getstr += obj.childNodes[i].name + "=&";  
               }  
            }  
            if (obj.childNodes[i].type == "radio") {  
               if (obj.childNodes[i].checked) {  
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";  
               }  
            }  
         }  
         if (obj.childNodes[i].tagName == "SELECT") {  
            var sel = obj.childNodes[i];  
            getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";  
         }  
  
      }  
      makeRequest('getuser.php', getstr);  
   }  
</script>  
  
<form action="javascript:get(document.getElementById('myform'));" name="myform" id="myform">  
<!-- 	  
	name: muss fortlaufend nummerriert sein, wird sum erstellen des filters benötigt  
	value: enthält den Filterwert, Spalte und gesuchten Spaltenwert  
-->  
Blütensymmetrie<br>  
<input type="checkbox" name="0" value="bluetensymmetrie = 0"> strahlig/radiär<br>  
<input type="checkbox" name="1" value="bluetensymmetrie = 1"> bilateral/disymmetrisch<br>  
<input type="checkbox" name="2" value="bluetensymmetrie = 2"> zygomorph/dorsiventral<br>  
<br>  
Blütenstände<br>  
einfach-razemöse Infloreszenzenzen:<br>  
<input type="checkbox" name="3" value="bluetenstaende = 0"> geschlossene Traube<br>  
<input type="checkbox" name="4" value="bluetenstaende = 1"> offene Traube<br>  
<input type="checkbox" name="5" value="bluetenstaende = 2"> Doldentraube<br>  
<input type="checkbox" name="6" value="bluetenstaende = 3"> Ähre<br>  
<input type="checkbox" name="7" value="bluetenstaende = 4"> Kätzchen<br>  
<input type="checkbox" name="8" value="bluetenstaende = 5"> Zapfen<br>  
<input type="checkbox" name="9" value="bluetenstaende = 6"> Kolben<br>  
<input type="checkbox" name="10" value="bluetenstaende = 7"> Köpfchen/Körbchen<br>  
<input type="checkbox" name="11" value="bluetenstaende = 8"> Dolde<br>  
zusammengesetzt-razemöse Infloreszenzenzen:<br>  
<input type="checkbox" name="12" value="bluetenstaende = 9"> Rispe<br>  
<input type="checkbox" name="13" value="bluetenstaende = 10"> Doldenrispe/Ebenstrauß<br>  
<input type="checkbox" name="14" value="bluetenstaende = 11"> Spirre/Trichterrispe<br>  
<input type="checkbox" name="15" value="bluetenstaende = 12"> Doppeltraube<br>  
<input type="checkbox" name="16" value="bluetenstaende = 13"> Zusammengesetzte Ähre<br>  
<input type="checkbox" name="17" value="bluetenstaende = 14"> Zusammengesetzte Dolde<br>  
Zymöse Infloreszenzen<br>  
<input type="checkbox" name="18" value="bluetenstaende = 15"> Diachsium<br>  
<input type="checkbox" name="19" value="bluetenstaende = 16"> Pleioachsium/Trugdolde<br>  
<input type="checkbox" name="20" value="bluetenstaende = 17"> Wickel<br>  
<input type="checkbox" name="21" value="bluetenstaende = 18"> Doppelwickel<br>  
<input type="checkbox" name="22" value="bluetenstaende = 19"> Schraubel<br>  
<input type="checkbox" name="23" value="bluetenstaende = 20"> Doppelschraubel<br>  
<input type="checkbox" name="24" value="bluetenstaende = 21"> Thyrsus<br>  
  
<br>  
<input type="button" name="button" value="Submit"  
   onclick="javascript:get(this.parentNode);">  
<input type="reset" value=" Abbrechen">  
</form>  
  
<br><br>  
Server-Response:<br>  
<span name="myspan" id="myspan"></span>

Kann mir jemand erklären was ich anders machen muss?

PS: Habe $wgUseAjax in LocalSettings.php auf true gesetzt und mittlerweile auch diese Seite gefunden Link. Komme leider trozdem nicht weit.

Grüße Niels