VB脚本里如何引用HTML页面的内容?
ASP页面里,缺省是vbscript,想在<% %>里面引用表单里的内容,但放进去总提示找不到对象,举个例子:
假设表单名为form1,其中有个下拉列表叫name,我想根据name里的值来决定另一个列表里的内容
<% for i=1 to 100
if (form1.name.value = "1")
%>
<option ......>
<% end if %>
以上写法是不行的,哪位会的指点一下,会者不难,解决立刻就结帖了
问题点数:50、回复次数:8Top
1 楼chxzll(小气包)回复于 2005-07-01 11:29:53 得分 0
因为服务器端脚本要先执行,而HTML部分由客户端的浏览器来执行,所以执行服务器端脚本的时候你那些表单元素还未加载呢
除非,你表单提交后来获取Top
2 楼chxzll(小气包)回复于 2005-07-01 11:31:39 得分 0
连动下拉列表可使用Javascipt来实现Top
3 楼net_lover(【孟子E章】)回复于 2005-07-01 11:33:08 得分 10
提交后用
request("表单控件的name")Top
4 楼nirvana_hg(溜达)回复于 2005-07-01 11:47:17 得分 0
下拉列表B的内容已经从数据库里取出来了,放在一个数组里。
<% dim xx()
xx = ……
%>
现在问题就是想根据下拉列表A的内容变化,来把XX里的内容分类显示在下拉列表B里,比如A选了新闻,那B就显示相应的子标题。能不能不用提交表单的方式来解决?只有这一种方法解决吗?如果有的话能给出详细点的写法吗,你们的提示有些太笼统了Top
5 楼emhuangzi(小皇----加油 加油!)回复于 2005-07-01 12:14:55 得分 10
XML Web ServiceTop
6 楼chxzll(小气包)回复于 2005-07-01 14:08:48 得分 30
Xml实现方式:
<select name="Class" onchange="setField(Class,Bar);">
<%
C_ID = Request.QueryString("C_ID")
if C_ID="" or IsNull(C_ID) then
Response.Write("<OPTION selected value=''>选择顶级栏目</OPTION>")
else
Response.Write("<OPTION value=''>选择顶级栏目</OPTION>")
end if
dim rs,sql
set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from Class where P_ID=0"
'连动菜单
rs.open sql,conn,1,3
do while not rs.eof
if cstr(rs("ID")) = Cstr(C_ID) then
response.write "<option selected value='"+CStr(rs("ID"))+"'>"+rs("ClassName")+"</option>"+chr(13)+chr(10)
else
response.write "<option value='"+CStr(rs("ID"))+"'>"+rs("ClassName")+"</option>"+chr(13)+chr(10)
end if
rs.MoveNext
loop
set rs = nothing
%>
</select>
<SELECT name="Bar">
<OPTION selected value="">选择二级栏目</OPTION>
</SELECT>
其中setField(Class,Bar)函数放在javascript中:
function setField(source,target)
{
var oXMLDoc = new ActiveXObject('MSXML');
sURL = '<%=strPathInfo%>XML_sel.asp?ClassID='+source.options(source.selectedIndex).value;
target.options.length = 0
oXMLDoc.url = sURL;
var oOption = document.createElement('OPTION')
oOption.text = '选择二级栏目';
oOption.value = '';
target.options.add(oOption);
var oRoot=oXMLDoc.root;
if(oRoot.children != null)
{
for(var i=0;i<oRoot.children.length;++i)
{
oItem = oRoot.children.item(i);
sName = oItem.text;
sValue = oItem.getAttribute("value");
var oOption = document.createElement('OPTION');
oOption.text = sName;
oOption.value = sValue;
target.options.add(oOption);
}
}
}Top
7 楼chxzll(小气包)回复于 2005-07-01 14:09:41 得分 0
XML_sel.asp文件内容
<!-------#include file="conn.asp"---->
<?xml version="1.0" encoding="gb2312" ?>
<sel>
<%
C_ID = Request.QueryString("ClassID")
if C_ID<>"" then
sqlstr = "select * from Class where P_ID=" & C_ID
set RsB = Server.CreateObject("ADODB.RecordSet")
RsB.Open sqlstr,conn,1,3
if not RsB.EOF then
do while not RsB.eof
%>
<selopt value="<%=RSB("ID")%>"><%=RSB("ClassName")%></selopt>
<%
RsB.movenext
loop
%>
<%
end if
set RsB = nothing
set conn = nothing
end if
%>
</sel>
Top
8 楼itzhiren(itzhiren)回复于 2005-07-01 14:17:24 得分 0
不懂XMLTop




