ASYNCHRONOUS JAVASCRIPT AND XML
JS层
// 定义一个全局
var xmlHttp;
// 返回一个xmlHttpRequest对象
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
// 在动作触发点调用此方法,要传参
function searchBwd(dirid){
var id = dirid;
createXMLHttpRequest();
if (xmlHttp) {
// 设置url路径。执行JAVA层方法的路径。如带参,URL中的&参数为其页面相关FORM BEAN中的字段,如下面的“singledirid”。
var url = "addBWDVocAction.do?actionType=GetDirBwd&singledirid=" + id;
// 异步更新
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = callback;// 此方法在下面。
xmlHttp.send();
} else {
alert("Can not create the request,please check your browser!!");
}
}
function callback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
setBwdValue();// 此处开始执行在页面上画数据列表的方法
// 如类似于先存储,再查询展现新结果时,在此callback方法处再引入查询方法
} else {
window.location = "admin_addbwd.jsp";// 指定结果页面
}
}
}
// 页面上画数据列表
function setBwdValue() {
// 下面这定义三个变量,在其后的FOR循环里取值,来源是JAVA层(如STRUTS里的ACTION)输出的XML流,后面给出。
var bwdid;
var bwdName_zh;
var bwdName;
var xmlDoc = xmlHttp.responseXML;
var root = xmlDoc.getElementsByTagName("xml").item(0);
for (var i = 0; i < root.childNodes.length; i++) {
var child = root.childNodes[i].childNodes;
// 下面给以上三个自定义的变量赋值:
bwdid = child[0].firstChild.nodeValue;
bwdName_zh = child[1].firstChild.nodeValue;
bwdName = child[2].firstChild.nodeValue;
// 先判断三个变量里的值是否为空
if (bwdid != "" && bwdName_zh != "" && bwdName != "") {
//添加一行
var newTr = dirbwdTbl.insertRow();
//添加一列
var newTd0 = newTr.insertCell();
//设置列内容和属性
newTd0.innerHTML =
"<label
相关文档:
// 去掉字符串左边空格
function trimToLeft(str){
var i;
for(i=0;i<str.length; i++) {
if(str.charAt(i)!=" ") break;
......
RegExp对象(至今为止我看到过的最通俗易懂和深入的正则表达式教程)
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的实例。
使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flag ......
演示地址: http://www.wowo-design.com/view/51_01/index.htm
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css菜单演示</title>
<style type="text/css">
<!--
*{margin:0;padding:0;border:0;}
body {
......
先来看一个简单的例子:
下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。
frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> frame < ......