这样的脚本应该怎么写,请路过的高手们进来指点一下。
为了在不同分辨率下,让页面能够居中显示,拟把所有的页面元素都放在一个table 里再进行设置,但碰到了以下问题:
原来有大量用javascrpt对页面元素的操作,如:
function changeShow()
{
switch(window.document.forms(0).children("m_sortMode").value)
{
case "按设备分类":
window.document.forms(0).children("m_sortMode").value="按类型分类";
m_equipment.style.zIndex=3;
m_type.style.zIndex=4;
break;
case "按类型分类":
window.document.forms(0).children("m_sortMode").value="按设备分类";
m_equipment.style.zIndex=4;
m_type.style.zIndex=3;
break;
default:
break;
}
}
以上的:m_sortMode为html的input控件,m_equipment、m_type为服务器端Panel控件,函数的作用主要是:在单击m_sortMode控件时,改变m_sortMode控件的value,并设置两个Panel 的z序以决定哪个Panel被显示。
把上述元素都加入一个table中,则运行时报“找不到对象”,那么,这种情况下,
上述这个函数应该怎么写呢?(假设每个控件都放到table 中的一个单元格中)
因为对脚本不是很熟,且对页面对象的一些属性,对象的引用等在服务器端代码和在脚本中的使用差别又较大,所以,经常被如何正确地引用到页面对象而头大:<
问题点数:100、回复次数:10Top
1 楼yigeyigeyige(怡戈)回复于 2003-02-02 23:34:17 得分 0
奇怪,怎么发出的帖子看不到。up 一下。Top
2 楼saucer(思归)回复于 2003-02-02 23:49:06 得分 30
if you are using controls inside other controls, their id may have become "ParentID:ChildID", view the html source code in your browser to make sure you have the correct IDsTop
3 楼yigeyigeyige(怡戈)回复于 2003-02-03 00:29:13 得分 0
我试了一下,建了一个table,并将m_sortMode拖进去,生成的代码如下:
<TABLE id="Table1" style="Z-INDEX: 117; LEFT: 616px; POSITION: absolute; TOP: 25px" cellSpacing="1" cellPadding="1" width="300" border="1">
<TR>
<TD>
<FONT face="宋体">
<INPUT id="m_sortMode" style="WIDTH: 116px; COLOR: yellow; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 21px; BACKGROUND-COLOR: #9999cc; BORDER-BOTTOM-STYLE: none" onclick="changeShow();" type="button" value="按设备分类" name="m_sortMode">
</FONT>
</TD>
</TR>
</TABLE>
id并没有变成:Table1:m_sortMode,将函数中的写法改为:
window.document.forms(0).children("Table1:m_sortMode").value="XXXX";
也不行。
Top
4 楼ahui_net(阿灰)回复于 2003-02-03 00:46:32 得分 70
象table,tr,td等容器定位时
[id].innerHTML = ...就可以了
如:input等就得用
document.all.[id].value = .....
使用eval得时候,不能象以前得静态页面那样
abc = aaaa;
eval(abc).value = "123";
应该是:
eval(abc+".value = '123'");Top
5 楼yigeyigeyige(怡戈)回复于 2003-02-03 01:28:05 得分 0
to: ahui_net(阿灰)
你说的方法是对的,刚才我自己查了一下msdn ,应该是这么写的。但将这些控件放入table后,它们的 style都没了,如:z-index、left等,它们都自动继承table的这些属性,也就是说,我无法用设置z序来确定显示哪个控件。如果是这样的话,就无法再使用table来定位了。Top
6 楼yigeyigeyige(怡戈)回复于 2003-02-03 03:10:32 得分 0
改用框架来定位了,效果也不错。本帖暂保留,看看是否还有什么好意见,下午结帖。Top
7 楼ahui_net(阿灰)回复于 2003-02-04 09:23:41 得分 0
如过你在table里面有个table2,虽然在页面上直接写table2得属性style,.net得编辑器告诉你是错得,但是ie还是可以解释
如:<table style="position:relative;z-index:13;left:50">
你试试Top
8 楼ahui_net(阿灰)回复于 2003-02-04 09:26:10 得分 0
有时候.net会自动把不对得代码删除调,(真得是很烦,连个提示都没有!)
你可以用css
如上:
<style>
table2Style{position:relative;z-index:13;left:50}
</style>
<table class="table2Style">Top
9 楼ahui_net(阿灰)回复于 2003-02-04 09:26:54 得分 0
有时候.net会自动把不对得代码删除调,(真得是很烦,连个提示都没有!)
你可以用css
如上:
<style>
.table2Style{position:relative;z-index:13;left:50}
</style>
<table class="table2Style">Top
10 楼yigeyigeyige(怡戈)回复于 2003-02-04 10:07:05 得分 0
to:ahui_net(阿灰)
等有空的时候一定要试一下你的方法。
谢谢各位,结帖了。Top




