lookup_timesheets.asp

来自「Windows Web脚本开发指南/(美) Dan Heflin, Todd N」· ASP 代码 · 共 152 行

ASP
152
字号
<%@ LANGUAGE=JAVASCRIPT %>
<%
if (Session("Validated") != true)
  Response.Redirect("login.asp");

function buildNameList(){
  var common = Server.CreateObject("CommonFunctionality.WSC");  
  conn = common.getDatabaseObject();

  var nameList = "<option value='All'>All</option>";
  var sql = "select distinct CreatedBy from TimesheetList ";
  var userID = Session("UserID");
  common.setRightsProperties(userID, true);
  if (common.where != "")
    sql += common.tables + " where " + common.where
  
  rs = conn.Execute(sql);
  
  while (rs.EOF == false){
     nameList += "<option value=" + rs(0) + ">" + rs(0) + "</option>"
     rs.MoveNext();
  }
  return nameList;  
}
%>

<html>
<head>
<title>Lookup Timesheets</title>
<base target="main">
</head>
<Script language="JavaScript" src="/_ScriptLibrary/rs.htm"></Script>
<Script LANGUAGE="JavaScript">
var serverURL = "remoteCalls.asp";
var currentNameClients = "";
var currentNameDates = "";

function handleRSExecute(methodName, delimeter, parameter){
	var co = RSExecute(serverURL, methodName, delimeter, parameter);
	return co.return_value;
}

function addItemToList(list, value, display, selected, location){
  var opt;
  
  if (value != "" && value != null) {
    opt = new Option(display, value, selected, selected);
    list.options[location] = opt;	
  }
}
function getSelectedListValue(list){
	var selected;
	var key;

	selected = list.options.selectedIndex;
	if (selected == -1) 
		key = -1;
	else
		key = list.options[selected].value; 

	return key;
}
function clearList(list, stopLocation){
	for (count = (list.length -1);count >= stopLocation;count--)
		list.options[count] = null;
}
function loadData(dataType, resultElement){
  var delimeter = "~|~";
  var nameElement = document.lookupTS.cmbName;
  var priorLength = resultElement.options.length;
  var selected = getSelectedListValue(nameElement);
  
  if (selected != eval("currentName" + dataType)){  
    if (dataType == "Dates")
      currentNameDates = selected;
    else
      currentNameClients = selected;
    clearList(resultElement);
    var functionName = "getAvailable" + dataType;
    var resultsString = handleRSExecute(functionName, delimeter, escape(selected));
    var results = resultsString.split(delimeter);
    addItemToList(resultElement, "All", "All", true);
    for (count = 0; count<results.length;count++){
      addItemToList(resultElement, results[count], results[count], false, count+1);
    }
    
    if (count < priorLength)
      clearList(resultElement, count);
  }
}	
function lookup(){
  var tempElement = document.lookupTS.cmbName;
  var name = getSelectedListValue(tempElement);

  tempElement = document.lookupTS.cmbView;
  var view = getSelectedListValue(tempElement);

  tempElement = document.lookupTS.cmbDate;
  var startDate = getSelectedListValue(tempElement);
  
  tempElement = document.lookupTS.cmbClient;
  var client = getSelectedListValue(tempElement);
  
  var dtObj = new Date();
  currentDT = dtObj.getTime();
  
  var appName = window.navigator.appName;
  var appVersion = window.navigator.appVersion;
  var ie5Expr = new RegExp("MSIE 5");
  var location = appVersion.search(ie5Expr);
  
  if (appName == "Microsoft Internet Explorer" && location > 0)
    navigatePath = "detailsClient.asp?name=" + escape(name) + "&view=" + escape(view) + "&date=" + escape(startDate) + "&client=" + escape(client) + "&currentDT=" + escape(currentDT);
  else
    navigatePath = "details.asp?name=" + escape(name) + "&view=" + escape(view) + "&date=" + escape(startDate) + "&client=" + escape(client) + "&currentDT=" + escape(currentDT);
  parent.frames[1].location.href = navigatePath;
}
</Script>
<body>
<p><b>Lookup Timesheets:</b></p>
<form name="lookupTS">
<table border="0" width="100%">
  <tr>
    <td width="20%">Name:<select size="1" name="cmbName"><%=buildNameList()%>
      </select></td>
    <td width="20%">Client:
      <select size="1" name="cmbClient" onFocus="loadData('Clients', document.lookupTS.cmbClient)">
        <option value="All">All Clients</option>
        <option value="All"></option>
        <option value="All"></option>
      </select></td>
    <td width="20%">Date:
      <select size="1" name="cmbDate" onFocus="loadData('Dates', document.lookupTS.cmbDate)">
        <option value="All">All Dates</option>
        <option value="All"></option>
        <option value="All"></option>
      </select></td>
    <td width="20%">View:
      <select size="1" name="cmbView">
        <option value="Detail">Detail</option>
        <option value="Summary">Summary</option>
      </select></td>
    <td width="20%"><input type="button" value="Lookup" name="cmdLookup" onclick="lookup()"></td>
  </tr>
</table>
</form>
<Script language="JavaScript">RSEnableRemoteScripting("/_ScriptLibrary/");</Script>
</body>
</html>


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?