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
相关文档:
=====能去中间==================================================
方法一:(不能去换行等)
代码简洁有力。妙就妙在split函数的使用上。先用空格分割(split)字符串,然后拼接.不得不佩服之,才思敏捷啊。看这样的代码,让人神清气爽。
function IgnoreSpaces(Str){
var ResultStr = "";
......
http://www.xker.com/page/e2008/0807/55407.html
最近发现DOMDocument对象很重要,还有XMLHTTP也很重要
注意大小写一定不能弄错.
属性:
1Attributes 存储节点的属性列表(只读)
2childNodes 存储节点的子节点列表(只读)
3dataType 返回此节点的数据类型
4Definition 以DTD或XML模式给出的节点的定义(只读 ......
1.对于数组,我们可以自己写一个indexOf()方法:
[].indexOf || (Array.prototype.indexOf = function(v){
for(var i = this.length;i-- && this[i] !== v;);
return i; });
使用: var array = new Array();
array = ...;
if(array.ind ......
第一步:在IE的“Internet设置”中选择“高级”——“安全”——“启用集成windows身份验证”。
第二步:在需要调试的页面的脚本中加上debugger; 然后运行这个页面,就会在这里停下来
例如:
function BtnSubmit_Click()
{
var aaa;
aaa='aaa';
debugg ......