追求新生活 名字2008

活着的意义

asp 之 多功能考试系统090920疑惑,理解element用法

进入考试,提交做的答案,发现出错,仔细检查.发现了
数据库中id为自动编号类型,自动增长但当id的值大于等于1000后,则转向处理结果失败,经过检查测试,发现了
出问题的源代码
for each element in request.form    '这里利用两次for循环把题目与答案判断了
      j=0
   for i=1 to request.form(element).count  '通过调用request.form(element).Count 来确定参数中值的个数
       if instr(element,"NO")<>0  then
       id=mid(element,3,3)'090922发现超过1000,则提交失败根据mid用法可以改为id=mid(element,3)解决,就是从第三位开始,一直取后面的字符,直到结束
       result=request.form(element)(i)     '获得第一个
       sql="select * from exam_databa where id="& clng(id)  
以上可以知道mid(element,3,3)是从第三位字节开始,向后取3位,我取四位或者其余的字符就解决啦.
当然,也可以把id字段改为数字类型解决,不过,插入数据记录的语句就要更改下了。因为它(id)不会自动增长啦.
再看看element如何遍历的呢?再paper文件中的javascript

function All (ID) {
  if (document.all) 
     {  return document.all[ID];  
    }
  else if (document.documentElement)
     {
       return document.getElementById (ID);
       }
  else if (document.layers) 
    { return document.layers[ID];
    }
}


function GetObjectHeight(Object) {
  DHTML_Init(Object);
  if (document.all || document.documentElement) 
{
    Clip = Object.style.clip;
  if (! Clip)
     { return Object.offsetHeight; }
  else 
      { return GetClipElement (Clip, 'Bottom');
     }
}
  else if (document.layers)
 { return Object.clip.height; }
}

function GetClipElement (Clip, Element)
 {
  Clip = Clip.substr(Clip.indexOf('(') + 1);
  Clip = Clip.substr(0, Clip.length - 1);
  Clippers = Clip.split (" ");
  for (i = 0; i < Clippers.length; i++) {
    if (Clippers[i] != 'auto') {
    Clippers[i] = Clippers[i].replace (/D/g, ""); }
  }
  ClipTop = Number(Clippers[0]);
  ClipRight = Number(Clippers[1]);
  ClipBottom = Number(Clippers[2]);
  ClipLeft = Number(Clippers[3]);
  if (Element == 'Top')
      { return ClipTop; }
    else if (Element == 'Right')
 { return ClipRight; }
    else if (Element == 'Bottom')
 { return ClipBottom; }
    else if (Element == 'Left')
 { return ClipLeft; }
    else 
 { return undefined; }
}

function GetObjectOffsetTop(Object) {
  DHTML_Init(Object);
  if (Object.offsetTop)
       { return Object.offsetTop; }
  else if (document.layers)
     { return Object.top; }
}

function SetObjectOffsetTop(Object, Offset)
{
  if (Object.style) 
{ Object.style.top = Offset; }
  else if (Object.top) 
{ Object.top = Offset; }

}
  CenterMenu = 1; 
  MenuBorder = 100;
  TimeCheck  = 250; 
  TimeUpdate = 15;
  DivUpdate  = 15; 
  Minimum    = 50; 
  AddHeight  = -4;
function ScrollMenu()
 {
  Menu  = All('persistMenu');
  WinTop = GetWindowOffsetTop();
  WinHeight = GetWindowHeight() + AddHeight;
  MenuTop = GetObjectOffsetTop(Menu);
  MenuHeight = GetObjectHeight (Menu);
  MenuNew = (CenterMenu) ? Math.round (WinTop + (WinHeight - MenuHeight) / 1) : WinTop + MenuBorder;
  if (MenuNew < Minimum)
  { MenuNew = Minimum; }
 
if (MenuTop != MenuNew)
 {
     if ( (MenuTop + MenuHeight) < WinTop || MenuTop > (WinTop + WinHeight) )
     {
       SetObjectOffsetTop (Menu, (MenuTop < MenuNew) ? (WinTop - MenuHeight) : (WinTop + WinHeight));
     }
  else
    {
     Add = (MenuTop < MenuNew) ? 1 : -1;
     SetObjectOffsetTop (Menu, MenuTop + Math.round((MenuNew - MenuTop) / DivUpdate) + Add);
     }
   }
         window.setTimeout('ScrollMenu()', (GetObjectOffsetTop(Menu) == MenuNew) ? TimeCheck : TimeUpdate);
 }

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length)
{
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


附带Element用法,要不,for each element in request.form 如何能运行呢?
 

Element. Selectors.js

Css查询相关的函数,以及对 Element 的一些扩展

License

MIT-style license.

Summary

Element. Selectors.js

Css查询相关的函数,以及对 Element 的一些扩展

工具函数

 

函数

 

$E

选择一个符合给出选择器的元素

$ES

返回一个符合给出选择器的元素集合,如果给出了过滤器,则元素将被过滤。

Element

 

属性

 

getElements

根据给出的一个选择器(单个选择器,不能有逗号)来获取一个元素内部的子元素

getElement

用法和 Element.getElements相同,但只返回一个匹配的元素

getElementsBySelector

用法和 Element.getElements相同,但允许在选择器中使用逗号(和css的规则一样)

getElementById

在一个元素的子元素中选取所给出id的元素。

top工具函数

概要

函数

 

$E

选择一个符合给出选择器的元素

$ES

返回一个符合给出选择器的元素集合,如果给出了过滤器,则元素将被过滤。

top函数

top$E

选择一个符合给出选择器的元素

参数

selector

字符串。css选择器

filter

可选。表示选择器的有效范围的一个元素。默认范围是document。

示例

$E('a', 'myElement') ;

返回值

a DOM element

第一个符合选择器的元素

top$ES

返回一个符合给出选择器的元素集合,如果给出了过滤器,则元素将被过滤。

返回值

符合给出选择器的元素数组

参数

selector

字符串。css选择器

filter

可选。表示选择器的有效范围的一个元素。默认范围是document。

示例

$ES("a")             //获取所有的a元素; 和 $$("a")功能相同

$ES('a','myElement') //获取在$('myElement')内部的所有a元素

topElement

Summary

属性

 

getElements

根据给出的一个选择器(单个选择器,不能有逗号)来获取一个元素内部的子元素

getElement

用法和 Element.getElements相同,但只返回一个匹配的元素

getElementsBySelector

用法和 Element.getElements相同,但允许在选择器中使用逗号(和css的规则一样)

getElementById

在一个元素的子元素中选取所给出id的元素。

top属性

topgetElements

根据给出的一个选择器(单个选择器,不能有逗号)来获取一个元素内部的子元素

参数

selector

字符串。css选择器

示例

$('myElement').getElements('a');                  //获取所有在myElement内的a元素

$('myElement').getElements('input[name=dialog]'); //获取所有在myElement内的name属性值为‘dialog’的input元素

$('myElement').getElements('input[name$=log]');   //获取所有在myElement内的name属性值以'log'结尾的input元素

备注

以下是在属性选择器中支持的操作符:

  • =   :  等于
  • ^=  : 开始于
  • $= : 结束于
  • !=  : 不等于

在支持Xpath的浏览器中将自动启用Xpath来进行查询。

topgetElement

用法和 Element.getElements相同,但只返回一个匹配的元素

参数

selector

字符串。css选择器

topgetElementsBySelector

用法和 Element.getElements相同,但允许在选择器中使用逗号(和css的规则一样)

参数

selector

字符串。css选择器

topgetElementById

在一个元素的子元素中选取所给出id的元素。 这个方法并没有去覆盖原有的document.getElementById

参数

id

字符串。要查找的元素的id

posted on 2009-09-22 12:25  pyman  阅读(559)  评论(0编辑  收藏  举报

导航