2011年7月5日 星期二

XML parsing -- "Ajax on Java" , O'reilly

Refer to Example 4-5.

function callback() {
if( req.readyState==4 ) {
if( req.status==200 ) {
if( window.XMLHttpRequest ) {
nonMSPopulate();
}
else if( window.ActiveXObject ) {
msPopulate();
}
}
}
clear();
}

function nonMSPopulate() {
xmlDoc = document.implementation.createDocument("","",null);
var resp = req.responseText;
var parser = new DOMParser();
var dom = parser.parseFromString(resp,"text/xml");

decVal = dom.getElementsByTagName("decimal");
var decimal = document.getElementById("decimal");
decimal.value = decVal[0].childNodes[0].nodeValue;
}

function msPopulate() {
var resp = req.responseText;
var xmlDoc = new ActiveObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xml.loadXML(resp);

nodes = xmlDoc.documentElement.childNodes;

dec = xmlDoc.getElementByTagName("decimal");
var decimal = document.getElementById("decimal");
decimal.value = dec[0].firstChild.data;
}

2011年7月3日 星期日

XMLHttpRequest -- "Ajax on Java" of O'Reilly

Refer to "Ajax on Java" of O'Reilly, example 2-1, index.html.

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script languge="JavaScript" src="ajax.js"></script>
...
</head>
<body onload="focusIn()">
...
<input type="text" id="key" name="key" onkeyup="converToDecimal();">
...
<input type="text" id="keypressed" readonly>
...
<input type="text" id="decimal" readonly>
...
</body>
</html>


Refer to "Ajax on Java" of O'Reilly, example 2-2, ajax.js.

var req;


function convertToDecimal() {
var key = document.getElementById("key");
var keypressed = document.getElementById("keypressed");
var url = "/ajaxdecimalcodeconverter/response.php?key=" + escape(key.value);
if( window.XMLHttpRequest ) {
req = new XMLHttpRequest(); //for Mozilla, Firefox, Safari
}
else if( window.ActiveXObject ) {
req = new ActiveXObject("Microsoft.XMLHTTP"); //for IE
}
req.open("Get",url,true);
req.onreadystatechange = callback;
req.send(null);
}


function callback() {
if( req.readyState==4 ) {
if( req.status==200 ) {
var decimal = document.getElementById("decimal");
decimal.value= req.responseText;
}
}
clear();
}


function clear() {
var key = document.getElementById("key");
key.value = "";
}


function focusIn() {
document.getElementById("key").focus();
}