ASP开发技巧集锦四

- 中国WEB开发者网络 (http://www.webasp.net)
-- 技术教程 (http://www.webasp.net/article/)
--- ASP开发技巧集锦四 (http://www.webasp.net/article/27/26885.htm)
-- 作者:未知
-- 发布日期: 2005-10-18

31. 确认操作

function ConfirmDel()
{
     if(confirm("确定要删除吗?一旦删除将不能恢复!"))
        return true;
     else
        return false;
}

<form name="del" method="Post" action="Del.asp" onsubmit="return ConfirmDel();">

==============================================================

我自己用的一个。
function ConfirmReset()
{
     if(confirm("确定取消操作吗?一旦取消操作将不能恢复!"))
     window.form1.reset();
     // return true;
}
<a href="javascript:ConfirmReset();"><img src="button_cance.gif"></a>

32. indexOf() 用法

<字符串对象>.indexOf(<另一个字符串对象>[, <起始位置>]);

该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始位置>就忽略之前的位置),如果找到了,就返回它的位置,没有找到就返回“-1”。所有的“位置”都是从零开始的。
eg. Str.indexOf(“AP”)>-1 说明str中存在”AP”字符串

33. 生成流水号

<%
if request.form("Modf") <> "" then
Dim  rs
Dim sql
Dim BugID
dim today
today=date()
toyear=year(today)
toyear=toyear*10000
tomonth= month(today)
tomonth=tomonth*100
tonow=day(today)
Serialnum = toyear + tomonth + tonow
Serialnum = Serialnum*10000+1

set rs = Server.CreateObject("ADODB.recordset")
sql = "select top 1 * from buglist order by SubmitDate desc"
rs.open sql,conn,1,3
if  not rs.eof then
     Dim OldSerialnum
     OldSerialnum = Rs("BugID")
     OldSerialnum = right(OldSerialnum,12)
     Serial = right(Serialnum,12)
     if OldSerialnum - Serial >= 0 then
     Serialnum = OldSerialnum + 1
     end if
end if
BugID = "ES"&request("ProductVersion")&Serialnum

34. 响应回车

function getdata(what,whatid)
{
    if (event.keyCode==13)
    ……
<input name="SerialNum<%=i%>"   type="text" onKeyDown="getdata(window.form1.SerialNum<%=i%>.value,<%=i%>)">

35. 关闭窗口前刷新父页面

response.write "<script language = javascript>"
response.write "javascript:opener.location.reload(); "
response.write "javasript:window.close();</script>"

36. JS事件

事件 / 描述

onblur 事件 发生在窗口失去焦点的时候。
onchange 事件 发生在文本输入区的内容被更改,然后焦点从文本输入区移走之后。
onclick 事件 发生在对象被单击的时候。
onerror 事件 发生在错误发生的时候。
onfocus 事件 发生在窗口得到焦点的时候。
onload 事件 发生在文档全部下载完毕的时候。
onmousedown 事件 发生在用户把鼠标放在对象上按下鼠标键的时候。参考 onmouseup 事件。
onmouseout 事件 发生在鼠标离开对象的时候。参考 onmouseover 事件。
onmouseover 事件 发生在鼠标进入对象范围的时候。
onmouseup 事件 发生在用户把鼠标放在对象上鼠标键被按下的情况下,放开鼠标键的时候。
onreset 事件 发生在表单的“重置”按钮被单击(按下并放开)的时候。
onresize 事件 发生在窗口被调整大小的时候。
onsubmit 事件 发生在表单的“提交”按钮被单击(按下并放开)的时候。
onunload 事件 发生在用户退出文档(或者关闭窗口,或者到另一个页面去)的时候。
onSelect 当Text或Textarea对象中的文字被加亮后,引发该事件。
onFocus 当用户单击Text或textarea以及select对象时,产生该事件。
onBlur 当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时,引发该文件.
onDragDrog 拖放时发生
onLoseCapture 
onDblClick 鼠标双击事件
onKeyPress 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象]
onKeyDown 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象]
onKeyUp 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象]
onAbort 图片在下载时被用户中断
onBeforeUnload 当前页面的内容将要被改变时触发的事件
onMove 浏览器的窗口被移动时触发的事件

37. 自动最大化

function window_onload()
{
     window.moveTo(-2,-2);
     window.resizeTo(screen.availWidth, screen.availHeight);
}

<body onload="window_onload()">

38. 几个SQL技巧

SELECT Area,Territory,username,sum(dealqty) DealQty,count(Projectnum) ProjectQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRT  FROM VW_PreviewTerritory  where   username = '段龙义' group by area,Territory,username
只要把不需要统计的东西分组就可以了。

select area,count(projectnum) TotalProjectQty,sum(DealQty) TotalDealQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRTQty from vw_previewProject where username = 'admin' group by area
这个也是一样,记住:count() 只是计数,不管这个字段值是多少。sum()是求和,把所有加在一起。

39. Eval用法

eval("ProducingArea"+i+".style.display = 'none' ;");
单引号不影响
eval("if((window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value =='')==true);");
//错误!
if(eval("window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value ==''")==true)
//以后记得凡是有if判断的,把eval("")写在里面,就比较好!
if(confirm(eval("'确信要在'+window.form1.ProductBaseType"+(i)+".value+'后添加子类?'")))

 

40. 窗口关闭之前

function window_onbeforeunload(Projectnum)
{
   if (event.clientX > document.body.clientWidth && event.clientY < 0 )
   {
      var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
      oXMLHTTP.open("POST","CheckProjectDeal.asp?Projectnum="+Projectnum,false);
      oXMLHTTP.send();
      Str=unescape(oXMLHTTP.responseText);
      if (unescape(oXMLHTTP.responseText)!="YES")
      {
           window.event.returnValue="项目至少需要一个销售机会!";
       }
     }
}

41. 标准表格

***************
* 这个是标题
***************
<table cellspacing=0 cellpadding=0 width="100%" border=0>
  <tr>
     <td  class=title  nowrap  align=left>
<%response.write Application("LProductManage"&session("LanguageId"))%>
    </td>
  </tr>
</table>

 
***************
* 这个是横线
***************
<table cellspacing=0 cellpadding=0 width="100%" border=0>
  <tbody>
  <tr>
    <td>
    </td>
  </tr>
<tr class="linecolor">
<td height="2"></td>
</tr>
<tr>
<td class="tdcolor" align=left height=15>&nbsp;</td>
</tr>
  </tbody>
</table>

 

 
***************
* 这个是表格
***************
<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor="#d0d090">
   <tbody>
     <th align="middle" class=light2><b><%=application("Lstatus"&session("languageid"))%></b></th>
     <th align="middle" class=light2><b><%=application("LSaleStage"&session("languageid"))%></b></th>
      
    <tr bgColor="white">
    <td align="middle">&nbsp;</td>
    <td align="middle">&nbsp;</td>
    </tr>

  </tbody>
</table>

 
边框\填充 = 0
间隔 = 1
底色 = #d0d090

42. 这也行

for i=2 to num
  BaseTypeAllPArr = request("BaseType"&i&"P"&jLoop)&":"&BaseTypeAllPArr
  response.Write "  OOOO  "&request("BaseType"&i&"P"&jLoop)&"  OOOO   <br>"
next

43. 标准注释头

'' ******************************************************************
'' 文件名:
'' Copyright (c) 2001-2005 ××信息技术公司软件部
'' 功能描述:产品编辑
'' 参数
'' 牵涉数据表,视图,存储过程:自定义函数dbo.GetSubTreeinfo
'' 包含的文件:
'' 调用的公用函数,类,方法
'' 创建人:Kokey YU
'' 日 期: 2005-8-9
'' 修改人:
'' 日 期:
'' 修改说明:
'' 版 本:
'' ******************************************************************/      

44. title换行

<a href="javascript:;" title="这是一行&#13这是另一行!">把鼠标放上来</a>



webasp.net