2013年9月27日 星期五

驗證欄位值在DB是否存在

form1.htm    '填單的FORM

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=big5" />
<TITLE></TITLE>
<LINK href="css/oaitec.css" rel="stylesheet" type="text/css">
<SCRIPT language="JavaScript"> 
var winW=550 //寬度
var winH=700 //高度
screenW=screen.width/2;
screenH=screen.height/2;
winL=screenW-(winW/2);
winT=screenH-(winH/2);
self.moveTo(winL,winT) 
self.resizeTo(winW,winH) 
</SCRIPT>
<SCRIPT language="JavaScript" src="calendar_small.js"></SCRIPT>
<Script>
function check()
{
//alert(opener.fill.elements[7].value);//detail第一個欄位值
//alert(opener.fill.elements.length);
if(document.getElementById('chkr').innerHTML!='') {
    alert("編號已存在,請另外命名!!");
    document.form1.assets_ID.focus();
    return false;
 }  }
//
var xmlHttp;
function createXHR(){
 if (window.XMLHttpRequest) {
  xmlHttp = new XMLHttpRequest();
 }else if (window.ActiveXObject) {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }

 if (!xmlHttp) {
  alert('您使用的瀏覽器不支援 XMLHTTP 物件');
  return false;
 }
}
function sendRequest(sURL){
 createXHR();
 var url=sURL+'&ts='+new Date().getTime();
 xmlHttp.open('GET',url,true);
 xmlHttp.onreadystatechange=catchResult;
 //xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=big5');
 xmlHttp.send(null);
}
function catchResult(){
 if (xmlHttp.readyState==4 || xmlHttp.readyState=='complete'){
  var d=xmlHttp.responseText;
  if (xmlHttp.status == 200) {
   if(d!=""){document.getElementById('chkr').innerHTML=d;}else(document.getElementById('chkr').innerHTML='')
  }else{
       alert('執行錯誤,代碼:'+xmlHttp.status+'\('+xmlHttp.statusText+'\)');
      }
 }
}
</Script>
<STYLE type="text/css">
<!--
body,td,th {
 font-size: 12px;
}
body {
 margin-left: 0px;
 margin-top: 0px;
 margin-right: 0px;
 background-color: #FFFFCC;
}
-->
</STYLE>
</HEAD>
<BODY>
<FORM name="form1" method="post" action="Set_assets_modify.asp">
  <TABLE width="100%" border="1" cellpadding="3" cellspacing="2" bordercolor="#CCCCCC">
    <TR>
      <TD width="100" bgcolor="#EBFFDD" scope="row">資產編號</TD>
      <TD class="Bred"><INPUT name="assets_ID" type="text" class="InputButton" id="assets_ID" value=""  onblur="sendRequest('ajax/check_assets_id.asp?assets_ID='+this.value);">*<SPAN id="chkr"></SPAN>      </TD>
    </TR>
    <TR>
      <TD bgcolor="#EBFFDD" scope="row">&nbsp;</TD>
      <TD><INPUT name="Submit" type="submit" class="InputButton" value="送出" onClick='return check();'>
      <INPUT name="Submit2" type="reset" class="InputButton" value="重設">
      <INPUT name="Submit3" type="button" class="InputButton" onClick="window.close();" value="關閉">
      </TD>
    </TR>
  </TABLE>
</FORM>
</BODY>
</HTML>
ajax/check_assets_id.asp    '利用ASP做AJAX驗證

<%@LANGUAGE="VBSCRIPT" CODEPAGE="950"%>
<!--#include file="link_DB.asp"-->
<%
Response.Charset="big5"  '設定編碼,否則中文字彙亂碼
assets_ID=trim(request("assets_ID"))
SQL="SELECT * FROM Set_assets where assets_ID='"&assets_ID&"'"
'response.write sql
'response.end
Set RS = Server.CreateObject("ADODB.RECORDSET") 
RS.Open SQL,Conn, 3,1
IF NOT RS.EOF Then
 Response.Write "編號已存在,請另外命名!! "
END IF

%>