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