asp.net 頁面版文本框智能提示JSCode (升級版)
2024-07-10 12:42:54
供稿:網(wǎng)友
原本準備在上一篇中直接修改的,無奈編輯功能太差,打開一堆html代碼,空格“ ”都看的人眼花繚亂,只好另開一篇。
升級說明:添加了針對一個界面多個職能提示位置的設(shè)定,只需修改文本框onfocus="fnStartInterval(this,'DropDownList2')",
設(shè)置好相應(yīng)的參數(shù)即可,同時修復(fù)了在IE6下div無法遮蓋下拉列表的問題,(IE6下無論如何設(shè)置select的z-index或div的z-index屬性均無濟于事),關(guān)于這個就是利用了一個iframe,將其蓋在div要顯示的位置,然后div再放在iframe上方即可。即使下方有select元素,也沒關(guān)系了。下面是最新code:
代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AutoTemple.aspx.cs" Inherits="AutoTemple" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無標題頁</title>
<style type="text/css"><!--
#coverddl{
position:absolute;
z-index:2;
width:expression(this.nextSibling.offsetWidth);
height:expression(this.nextSibling.offsetHeight);
top:expression(this.nextSibling.offsetTop);
left:expression(this.nextSibling.offsetLeft);
}
--></style>
<script type="text/javascript" language="javascript"><!--
var currentIndex=-1;//保存提示框中選擇的索引
var sumSearchCount=0;//保存提示框中數(shù)據(jù)數(shù)量
var tempValue="";//保存當前輸入的要搜索的內(nèi)容
var objTxt=null;//保存文本框?qū)ο?
var top=0;//提示框的top
var left=0;//提示框的left
var width=0;//提示框的width
var values = null;//保存下拉列表的值
var texts = null;//保存下拉列表的顯示內(nèi)容
var tempDiv= null;//保存提示框中索引對應(yīng)的values索引
var ddlName="";//獲取到的下拉列表ID
var getDDLName = "";//服務(wù)器端下拉列表ID
var fontSize=12;//智能提示內(nèi)容字體
var paddingBottom = 2;//智能提示內(nèi)容下邊緣大小
var backGroundColor = "#3366CC";//智能提示內(nèi)容背景色
//獲取下拉列表ID
function GetDDLID()
{
var ddls = document.getElementsByTagName("select");
for(var i=0;i<ddls.length;i++)
{
if(ddls[i].id.indexOf(getDDLName)!=-1)
{
ddlName=ddls[i].id;
break;
}
}
}
//獲取下拉列表的值和顯示內(nèi)容
function getSelectValues(){
GetDDLID();
values = new Array();
texts = new Array();
tempDiv=new Array();
ddlvalue = document.getElementById(ddlName);
for(var i=0;i<ddlvalue.length;i++){
values[i]=ddlvalue.options[i].value;
texts[i]=ddlvalue.options[i].text;
}
}
var oInterval = "";//保存自動計時對象
function fnStartInterval(txt_id,ddlOldName){
getDDLName=ddlOldName;
getSelectValues();
objTxt=txt_id;//獲取輸入文本框?qū)ο?