📄 jsxmltreemain.aspx
字号:
<%@ Page language="c#" Codebehind="JSXMLTreeMain.aspx.cs" AutoEventWireup="false" Inherits="JSXMLlTree.JSXMLTreeMain" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>JSXMLTreeMain</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="FlowLayout">
<form id="Form1" method="post" runat="server">
<table>
<tr>
<td valign="top">
</td>
<td rowspan="2" style="padding-left:25" valign="top">
<input type="text" value="" id="txtItem"> <a href="javascript:void(0);" onclick="InsertNodeToDB()">新建部门</a> <a href="javascript:void(0);" onclick="deleteNode()">删除部门</a>
<input type="hidden" id="txtItemParentId">
<input type="hidden" id="txtItemId">
<input type="hidden" id="txtItemName">
<input type="hidden" id="txtItemUrl">
<input type="hidden" id="txtItemUrlTarget">
<!--<textarea id="txtLinkUrl" rows= '3' cols='70'></textarea>-->
<input type="hidden" id="txtLinkUrl" ></input>
<br>
<!-- <a href="javascript:void(0);" onclick="var d=new Date(); tree.insertNewNext(tree.getSelectedItemId(),d.valueOf(),document.getElementById('ed2').value,0,0,0,0,'SELECT'); fixImage(d.valueOf());">Insert new item next</a> Item label <input type="text" value="New item" id="ed2"><br><br>
<a href="javascript:void(0);" onclick="tree.deleteItem(tree.getSelectedItemId(),true);">Delete item</a><br><br> -->
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
<!--
function newNode()
{
// var d=new Date();
// tree.insertNewItem(tree.getSelectedItemId(),d.valueOf(),
// document.getElementById('txtItem').value,0,0,0,0,'SELECT');
// fixImage(d.valueOf());
//Access DataBase insert new node ,return new node's id,text,url,target
var leftWin = parent.left;
leftWin.newNode();
}
function deleteNode()
{
if(!confirm("确实删除吗?"))
{
return false;
}
//服务器端删除节点
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async=false; // not asynchronism ,wait for the file load success;
//xmlDoc.onload = getNodeObject;
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
//xmlDoc.onreadystatechange = function () {
// if (xmlDoc.readyState == 4) getNodeObject()
//};
}
else
{
alert('Your browser can\'t handle this script');
return false;
}
var nodeId =parent.left.tree2.getSelectedItemId()//document.getElementById("txtItemParentId").value;
var linkurl="NodeManage.aspx?action=nodeDelete&nodeId="+nodeId;
//alert(linkurl);
document.getElementById("txtLinkUrl").value = linkurl;
xmlDoc.load(linkurl);// relative Path is incrrect???
var x = xmlDoc.getElementsByTagName("IsOk")[0].firstChild.nodeValue
var nodeReturn = x;
//alert(nodeReturn);
//alert("nodeReturn "+nodeReturn);
if( nodeReturn != null && nodeReturn == "1")
{
alert("服务器端删除成功");
//return;
}
else
{
alert("服器端删除节点失败,请检删除的时候是部门");
return;
}
//客户端删除节点
var leftWin = parent.left;
leftWin.deleteNode();
}
//去掉左右空格
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
function InsertNodeToDB()
{
/*
*http://community.csdn.net/Expert/topic/4330/4330232.xml?temp=.6856195
*--------------- GetResult(str,classid) -----------------
* GetResult(str)
* 功能:通过XMLHTTP发送请求,返回结果.
* 参数:str,字符串,发送条件;classid,数字,菜单级别
* 实例:GetResult(document.all.userid.value,1);
*--------------- GetResult(str,classid) -----------------
*/
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
var nodeParentId =parent.left.tree2.getSelectedItemId()//document.getElementById("txtItemParentId").value;
if(document.getElementById("txtItem").value.length==0)
{
alert("请输入名称");
document.getElementById("txtItem").focus();
return false;
}
var nodeText = URLEncode(document.getElementById("txtItem").value);
var nodeUrl ="";
var nodeUrlTarget = "main";
var linkurl="NodeManage.aspx?action=nodeNew&nodeParentId="+nodeParentId+"&nodeText="+nodeText+"&nodeUrl="+nodeUrl+"&nodeUrlTarget="+nodeUrlTarget;
//alert(linkurl);
document.getElementById("txtLinkUrl").value = linkurl;
// // **************start Mothod 1 user ajax;
// http_request.open("GET",linkurl,false);
// http_request.send(null);
//
// //服务器端处理返回的是经过escape编码的字符串.
// //在页面显示服务器查询结果
//
// var returnNodeInfo=unescape(http_request.responseText)
// //var returnNodeInfo=http_request.responseText;
// returnNodeInfo = returnNodeInfo.trim();
// //alert(returnNodeInfo);
// if(returnNodeInfo.length>0)
// {
// //document.all,ajax.innerHTML="服务器返回结果:<font color='red'>"+returnNodeInfo+"</font> [Powered by AJAX]"
// }
// else
// {
// //document.all,ajax.innerHTML=""
// }
// //************* end Mothod 1 user ajax;
//********** start Modthod 2 user xmlDoc.load("emperors.xml");
//var nodeReturn = new Array();
var nodeReturn = getNodes(linkurl);
//alert("nodeReturn "+nodeReturn);
if( nodeReturn != null && nodeReturn.length>0 )
{
alert("服务器端增加成功");
//alert(nodeReturn[0].id);
//return;
}
else
{
alert("服器端增加节点失败,请检查增加的时候是部门");
return;
}
//********** end Modthod 2 user xmlDoc.load("emperors.xml");
//get new nodid,add this node in client
if (nodeReturn.length>0)
{
// for(var jj=0;jj<nodeReturn.length;jj++)
// {
// for(var x in nodeReturn[jj])
// {
// alert("nodeReturn["+jj+"]."+ x +"="+nodeReturn[jj][x]);
// }
//
// if(nodeReturn[jj].isDept == "0") //JavaScript里"0"=="0"OK,BUT "0001" =="0" ERROR????
// {
// alert("增加失败,请检查增加的是否是部门");
// return ;
// }
// }
//alert("nodeReturn[0].isDep"+nodeReturn[0].isDept);
if(nodeReturn[0].isDept == 0) //JavaScript里"0"=="0"OK,BUT "0001" =="0" ERROR????
{
alert("增加失败,请检查增加的是否是部门");
return ;
}
document.getElementById("txtItemId").value = nodeReturn[0].id;
document.getElementById("txtItemName").value = nodeReturn[0].deptName;
document.getElementById("txtItemUrl").value = nodeReturn[0].deptUrl;
document.getElementById("txtItemUrlTarget").value = nodeReturn[0].deptUrlTarget;
var leftWin = parent.left;
leftWin.newNode();
}
else
{
alert("添加失败!");
}
}
//
function getNodes(linkurl)
{
var obj = null;
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async=false; // not asynchronism ,wait for the file load success;
//xmlDoc.onload = getNodeObject;
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
//xmlDoc.onreadystatechange = function () {
// if (xmlDoc.readyState == 4) getNodeObject()
//};
}
else
{
alert('Your browser can\'t handle this script');
return false;
}
//xmlDoc.load("node.xml");
//alert("linkurl:"+linkurl);
var ddd = xmlDoc.load(linkurl);// relative Path is incrrect???
//xmlDoc.load("http://localhost:8080/JavaStudy2/test/xmlHttp/InsertNewNode.jsp?nodeParentId=8&nodeText=New%20item&nodeUrl=&nodeUrlTarget=main");
// for(var jj=0;jj<5000000;jj++)
// {
//
// }
//alert("begore obj = getNodeObject();");
if(ddd)
{
obj = getNodeObject();
//alert("after obj = getNodeObject();");
//alert(linkurl+obj +" lenth:"+obj.length);
for(var i=0;i<obj.length;i++)
{
//alert("node["+i+"]");
for(objProporty in obj[i])
{
//alert("obj."+objProporty+" = " + obj[i][objProporty]);
}
}
}
//var str = "<emperors><emperor><name>Augustus</name><rule>27BC-14AD</rule><death>Peaceful</death></emperor></emperors>";
//xmlDoc.load(str);
return obj
}
function getNodeObject()
{
var nodes=new Array();
//alert("befor xmlDoc.load()");
var x = xmlDoc.getElementsByTagName('node');
//alert("after var x = xmlDoc.getElementsByTagName('node')");
//alert(x.length);
for (var i=0;i<x.length;i++)
{
//alert(" for (i=0;i<x.length;i++))");
nodes[i] = new Object();
for (var j=0;j<x[i].childNodes.length;j++)
{
//alert(x[i].childNodes[j].nodeName + "_" + x[i].childNodes[j].firstChild.nodeValue);
//alert("for (j=0;j<x[i].childNodes.length;j++)");
if(x[i].childNodes[j].firstChild != null)
{
switch(x[i].childNodes[j].nodeName)
{
case "isDept":
nodes[i].isDept = x[i].childNodes[j].firstChild.nodeValue;
break;
case "id":
nodes[i].id = x[i].childNodes[j].firstChild.nodeValue;
break;
case "deptName":
nodes[i].deptName = x[i].childNodes[j].firstChild.nodeValue;
break;
case "deptUrl":
nodes[i].deptUrl = x[i].childNodes[j].firstChild.nodeValue;
break;
case "deptUrlTarget":
nodes[i].deptUrlTarget = x[i].childNodes[j].firstChild.nodeValue;
break;
default:
alert("no nodeName");
}
}
//var theData = document.createTextNode(x[i].childNodes[j].firstChild.nodeValue);
//x[0].childNodes[j].nodeName
}
//alert(nodes[i]);
//alert(nodes[i].id);
}
return nodes;
//document.getElementById('writeroot').appendChild(newEl);
//document.getElementById('txtContent').value = newEl.innerHTML;
}
function URLEncode(Str){
if(Str==null||Str=="")
return "";
var newStr="";
function toCase(sStr){
return sStr.toString(16).toUpperCase();
}
for(var i=0,icode,len=Str.length;i<len;i++){
icode=Str.charCodeAt(i);
if( icode<0x10)
newStr+="%0"+icode.toString(16).toUpperCase();
else if(icode<0x80){
if(icode==0x20)
newStr+="+";
else if((icode>=0x30&&icode<=0x39)||(icode>=0x41&&icode<=0x5A)||(icode>=0x61&&icode<=0x7A))
newStr+=Str.charAt(i);
else
newStr+="%"+toCase(icode);
}
else if(icode<0x800){
newStr+="%"+toCase(0xC0+(icode>>6));
newStr+="%"+toCase(0x80+icode%0x40);
}
else{
newStr+="%"+toCase(0xE0+(icode>>12));
newStr+="%"+toCase(0x80+(icode>>6)%0x40);
newStr+="%"+toCase(0x80+icode%0x40);
}
}
return newStr;
}
-->
</SCRIPT>
</form>
</body>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -