|
|
@ -7,9 +7,72 @@ |
|
|
|
|
|
|
|
|
<script type="text/javascript"> |
|
|
<script type="text/javascript"> |
|
|
<!-- |
|
|
<!-- |
|
|
|
|
|
function xmlToArray (xr) |
|
|
|
|
|
{ |
|
|
|
|
|
ret = new Array (); |
|
|
|
|
|
|
|
|
|
|
|
if (! xr.hasChildNodes ()) |
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|
|
|
for (node in xr.childNodes) |
|
|
|
|
|
{ |
|
|
|
|
|
if (node.nodeType == 1 && |
|
|
|
|
|
node.name == 'item') |
|
|
|
|
|
{ |
|
|
|
|
|
key = childNode->getAttribute ('key'); |
|
|
|
|
|
if (parseInt (key, 10) !== NaN) |
|
|
|
|
|
key = parseInt (key, 10); |
|
|
|
|
|
|
|
|
|
|
|
for (_node in node.childNodes) |
|
|
|
|
|
{ |
|
|
|
|
|
if (_node->nodeType == 1) |
|
|
|
|
|
{ |
|
|
|
|
|
switch (_node->nodeName) |
|
|
|
|
|
{ |
|
|
|
|
|
case 'variable': |
|
|
|
|
|
ret[key] = xmlToVar (_node); |
|
|
|
|
|
type = _node->getAttribute ('type'); |
|
|
|
|
|
//settype (ret[key], type); |
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
case 'array': |
|
|
|
|
|
ret[key] = xmlToArray (_node); |
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
case 'class': |
|
|
|
|
|
_class = _node->getAttribute ('class'); |
|
|
|
|
|
eval ('ret[key] = new ' + _class + '(_node)'); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function xmlToVar (xr) |
|
|
|
|
|
{ |
|
|
|
|
|
if (!xr.hasChildNodes ()) |
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
|
|
|
|
var ret = null; |
|
|
|
|
|
|
|
|
|
|
|
for (node in xr.childNodes) |
|
|
|
|
|
if (node.nodeType === 3 && node.nodeValue !== null) |
|
|
|
|
|
{ |
|
|
|
|
|
ret = node.nodeValue; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var req = null; |
|
|
var req = null; |
|
|
|
|
|
|
|
|
function handleTranslation () |
|
|
|
|
|
|
|
|
function getPersons () |
|
|
{ |
|
|
{ |
|
|
switch (req.readyState) |
|
|
switch (req.readyState) |
|
|
{ |
|
|
{ |
|
|
@ -18,16 +81,38 @@ |
|
|
alert("Fehler:"+req.status); |
|
|
alert("Fehler:"+req.status); |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
// felder des formulars |
|
|
|
|
|
german_field = document.getElementById("german"); |
|
|
|
|
|
french_field = document.getElementById("french"); |
|
|
|
|
|
|
|
|
//for (x in req.responseXML) |
|
|
|
|
|
//{ |
|
|
|
|
|
// console.dir (x); |
|
|
|
|
|
// break; |
|
|
|
|
|
// } |
|
|
|
|
|
data = req.responseXML.firstChild; |
|
|
|
|
|
|
|
|
|
|
|
//console.dir (data); |
|
|
|
|
|
switch (data.nodeName) |
|
|
|
|
|
{ |
|
|
|
|
|
case 'variable': ret = xmlToVar (data); break; |
|
|
|
|
|
//case 'array': ret = xmlToArray (data); break; |
|
|
|
|
|
//case 'class': ret = xmlToObject (data); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.log ('%s', ret); |
|
|
|
|
|
|
|
|
|
|
|
// ---- |
|
|
|
|
|
//german_resp = xml.getElementsByTagName("german")[0]; |
|
|
|
|
|
//french_resp = xml.getElementsByTagName("french")[0]; |
|
|
|
|
|
|
|
|
|
|
|
//schreiben des ergebnisses |
|
|
|
|
|
//german_field.value = german_resp.firstChild.nodeValue; |
|
|
|
|
|
//french_field.value = french_resp.firstChild.nodeValue; |
|
|
|
|
|
// ---- |
|
|
|
|
|
|
|
|
// antwort des servers |
|
|
// antwort des servers |
|
|
var translation = eval('(' + req.responseText + ')'); |
|
|
|
|
|
|
|
|
//var translation = eval('(' + req.responseText + ')'); |
|
|
|
|
|
|
|
|
// schreiben des ergebnisses |
|
|
// schreiben des ergebnisses |
|
|
german_field.value = translation.german; |
|
|
|
|
|
french_field.value = translation.french.val1; |
|
|
|
|
|
|
|
|
//german_field.value = translation.german; |
|
|
|
|
|
//french_field.value = translation.french.val1; |
|
|
} |
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
|
|
|
|
|
|
@ -36,7 +121,7 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function translate () |
|
|
|
|
|
|
|
|
function updPersons () |
|
|
{ |
|
|
{ |
|
|
// erstellen des requests |
|
|
// erstellen des requests |
|
|
|
|
|
|
|
|
@ -68,13 +153,12 @@ |
|
|
|
|
|
|
|
|
// anfrage erstellen (GET, url ist localhost, |
|
|
// anfrage erstellen (GET, url ist localhost, |
|
|
// request ist asynchron |
|
|
// request ist asynchron |
|
|
var url = 'http://muedv031/~georg/bilder/ajax+json/ajax.php' + |
|
|
|
|
|
'?translate=' + document.getElementById ('myword').value; |
|
|
|
|
|
|
|
|
var url = 'http://localhost/~georg/bilder/ajax+json/ajax.php'; |
|
|
|
|
|
|
|
|
req.open("GET", url, true); |
|
|
req.open("GET", url, true); |
|
|
|
|
|
|
|
|
// Beim abschliessen des request wird diese Funktion ausgeführt |
|
|
// Beim abschliessen des request wird diese Funktion ausgeführt |
|
|
req.onreadystatechange = handleTranslation; |
|
|
|
|
|
|
|
|
req.onreadystatechange = getPersons; |
|
|
|
|
|
|
|
|
req.setRequestHeader("Content-Type", |
|
|
req.setRequestHeader("Content-Type", |
|
|
"application/x-www-form-urlencoded"); |
|
|
"application/x-www-form-urlencoded"); |
|
|
@ -87,11 +171,11 @@ |
|
|
</head> |
|
|
</head> |
|
|
|
|
|
|
|
|
<body> |
|
|
<body> |
|
|
<div id="eins" style="width: 80%; height: 80%; border: dashed 1px;"> |
|
|
|
|
|
englisch: <input type="text" id="myword" onchange="translate();" /> |
|
|
|
|
|
<br /> |
|
|
|
|
|
deutsch: <input type="text" id="german" /><br /> |
|
|
|
|
|
französisch: <input type="text" id="french" /><br /> |
|
|
|
|
|
|
|
|
<div id="eins" style="width: 600px; height: 450px; border: dashed 1px;"> |
|
|
|
|
|
dummy: <input type="text" id="myword" onchange="updPersons ();" /> |
|
|
|
|
|
<p id="persons"> |
|
|
|
|
|
Hier koennen personen stehen.... |
|
|
|
|
|
</p> |
|
|
</div> |
|
|
</div> |
|
|
</body> |
|
|
</body> |
|
|
</html> |
|
|
</html> |