仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1898|回复: 18
打印 上一主题 下一主题

[学习教程] ASP网页编程之一拖三下拉菜单(js+xml+asp)

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:40:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。js|xml|菜单|下拉   <script>
var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
//--------------cid为父级ID
var m_sBaseSrc = "Tree.asp?cid=";
//---------------id 为所属类型-----
var m_sBaseSrc1 = "&id=";
var m_post=3;

function BindSelect( strXMLSrc , objSelectName, defaultVal)
{
m_oXMLDoc.async = true;
m_oXMLDoc.onreadystatechange = Function( "fnLoadComplete('" + objSelectName + "', '" + defaultVal + "');" );


if (objSelectName=="jz_3"){ strXMLSrc=strXMLSrc+m_sBaseSrc1+0;}
if (objSelectName=="jz_25"){ strXMLSrc=strXMLSrc+m_sBaseSrc1+1;m_post=2;}
if (objSelectName=="jz_9"){ strXMLSrc=strXMLSrc+m_sBaseSrc1+2;}
if (objSelectName=="jz_10"){ strXMLSrc=strXMLSrc+m_sBaseSrc1+3;}

m_oXMLDoc.load( strXMLSrc );
}

function fnLoadComplete(objSelectName, defaultVal)
{
var objSelect = document.all[objSelectName];
var aryXMLNodes;
var node;
if (objSelect == null)
return;
try
{
var iReadyState = m_oXMLDoc.readyState;
}
catch(e)
{
return;
}

if( iReadyState != 4 ) return;

if( m_oXMLDoc != null && m_oXMLDoc.xml != "" )
{
objSelect.length = 0;
aryXMLNodes = m_oXMLDoc.documentElement.selectNodes("Tree_0");
objSelect.options[0] = new Option("==请选择==");
for (var i=0; i < aryXMLNodes.length; i++)
{
node = aryXMLNodes[i];
objSelect.options[i+1] = new Option(node.getAttribute("Title"),node.getAttribute("cId"));

//-------------------请注重这里,初始选择
if (node.getAttribute("cId")==1||node.getAttribute("cId")==2||node.getAttribute("cId")==3||node.getAttribute("cId")==4)
{
objSelect.options[i+1].selected=true
}

}

if (defaultVal != null && defaultVal != "" && objSelect.length > 1)
{
SetSelectedValue(objSelect, defaultVal)
}

if(objSelect.ChildSelectName != null&&m_post>0)
{
m_post=m_post-1;
objSelect.onchange = Function( "var val = document.all.jz_3.value;BindSelect(m_sBaseSrc+val, '"+objSelect.ChildSelectName+"', '"+defaultVal+"');if(val!='')document.all.MaterialClassCode.value=m_post;" );
objSelect.fireEvent("onchange");
}
else
{
objSelect.onchange = Function( "var val = document.all.jz_3.value;if(val!='')document.all.MaterialClassCode.value=m_post;" );
}
}
}

function InitSelect(defaultVal)
{
//document.all.MaterialClassCode.value = "";
BindSelect( m_sBaseSrc + "0", "jz_3", defaultVal);
//document.write( m_sBaseSrc + "0"+"&cid="+0, "jz_3", defaultVal);

//BindSelect( m_sBaseSrc + "1", "jz_9", defaultVal);
}

function Equality(val1,val2)
{
if (val1.length < val2.length || val2 == "")
return false;
return (val1.substr(0,val2.length) == val2)
}

function SetSelectedValue(oSel,val)
{
if (val == null)
return;
for(var i=0; i<oSel.length; i++)
{
if (Equality(val, oSel.options[i].value))
{
oSel.selectedIndex = i;

if(oSel.ChildSelectName == null)
oSel.fireEvent("onchange");
break;
}
}
}

window.onload = function(){InitSelect();}
</script>

//------------------------------------tree.asp---------

<!--#include file="../inc/asp/all.asp"-->
<%
tree=3
Dim xmlDoc, tmp(3), root,rows_A(1),i,newElem
'Dim root As IXMLDOMElement
'Dim newElem As IXMLDOMElement
response.ContentType = "text/xml"'输入格局为xml

tmp(0) = Request("cid")
tmp(1) = Request("id")
If tmp(0) =empty or tmp(1) =empty Then
Response.Write "<Tree/>"
Response.End
End If

set xmlDoc=server.CreateObject("Microsoft.XMLDOM")'新建xmldom对象

xmlDoc.loadXML("<Tree cId="""&tmp(0)&""" Src=""Tree.asp?cid="&tmp(0)&"""/>")
s</p>  ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
莫相离 该用户已被删除
沙发
发表于 2015-2-4 05:05:39 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
小女巫 该用户已被删除
板凳
发表于 2015-2-5 21:54:57 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
透明 该用户已被删除
地板
发表于 2015-2-13 18:51:02 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
只想知道 该用户已被删除
5#
发表于 2015-2-23 01:31:43 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
小魔女 该用户已被删除
6#
发表于 2015-3-7 04:44:41 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
爱飞 该用户已被删除
7#
发表于 2015-3-7 18:04:10 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
谁可相欹 该用户已被删除
8#
发表于 2015-3-15 10:41:12 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
老尸 该用户已被删除
9#
发表于 2015-3-21 13:56:30 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
分手快乐 该用户已被删除
10#
发表于 2015-3-22 19:09:26 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
活着的死人 该用户已被删除
11#
发表于 2015-3-26 16:05:51 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
第二个灵魂 该用户已被删除
12#
发表于 2015-3-31 18:55:35 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
愤怒的大鸟 该用户已被删除
13#
发表于 2015-4-11 03:38:51 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
再见西城 该用户已被删除
14#
发表于 2015-4-22 06:35:56 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
再现理想 该用户已被删除
15#
发表于 2015-6-11 17:09:07 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
飘飘悠悠 该用户已被删除
16#
 楼主| 发表于 2015-6-12 19:02:29 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
若相依 该用户已被删除
17#
发表于 2015-7-1 10:44:27 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
冷月葬花魂 该用户已被删除
18#
发表于 2015-7-11 19:19:48 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
飘灵儿 该用户已被删除
19#
发表于 2015-7-11 22:02:46 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表