亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prompts.js

?? JSP工程應用與實踐
?? JS
字號:
//////////////////////////////
// FOR DEBUGGING ONLY
var debug = false;
function dumpFormFields(formName)
{
    theForm = document.forms[formName];
    for ( idx = 0; idx < theForm.elements.length; ++idx )
        alert ( theForm.elements[idx].name + " - " + theForm.elements[idx].value );
}

//////////////////////////////
// GLOBAL VAR
var needURLEncode = false;	// only need to do url encode in java
var promptPrefix = "promptex-";

var _bver    = parseInt(navigator.appVersion);
var Nav4     = ((navigator.appName == "Netscape") && _bver==4);
var Nav4plus = ((navigator.appName == "Netscape") && _bver >= 4);
var IE4plus  = ((navigator.userAgent.indexOf("MSIE") != -1) && _bver>4);

if (Nav4plus)
	var userLanguage = (navigator.language.substr(0, 2));
else
	var userLanguage = (navigator.browserLanguage.substr(0, 2));

///////////////////////////////
// properly encode prompt values
function encodePrompt (prompt)
{
    if (needURLEncode)
    {
    	return encodeURIComponent(prompt);
    }
    else
    {
    	return prompt;
    }
}

////////////////////////////////
// add number, currency, string from dropdown/textbox to list box
// where multiple prompt values are supported
function addPromptDiscreteValue ( inForm, type , paramName)
{
	var widget, obj;
    widget = obj = inForm[paramName + "DiscreteValue"];
	if ( obj.type && obj.type.toLowerCase() != "text" &&
	     obj.type.toLowerCase() != "hidden" && obj.type.toLowerCase() != "password")
	{
		//select box not a textbox
		obj = obj.options[obj.selectedIndex];
	}
	if ( ! checkSingleValue ( obj.value, type ) )
    {
        if (widget.focus && widget.type.toLowerCase() != "hidden")
			widget.focus();
		return false;
    }
	promptValue =  encodePrompt(obj.value);
	displayString = ( obj.text ) ? obj.text : obj.value;
	promptEntry = new Option(displayString,promptValue,false,false);
	theList = inForm[paramName + "ListBox"];
	theList.options[theList.length] = promptEntry;
    if (widget.focus && widget.type.toLowerCase() != "hidden")
        widget.focus ();
    if ( widget.select )
        widget.select ();
    if ( widget.type.toLowerCase != "text" &&
	 widget.type.toLowerCase != "hidden" &&
	 widget.type.toLowerCase != "password")
        if ( widget.selectedIndex < widget.length - 1 )
            widget.selectedIndex = widget.selectedIndex + 1;      //... or move to next selection in listbox
}

////////////////////////////////////
// adds Range prompt to listbox where multiple values are supported
function addPromptRangeValue ( inForm, type , paramName )
{
    lowerBound = inForm[paramName + "LowerBound"];
    upperBound = inForm[paramName + "UpperBound"];
    //handle select box, not text box case
    if ( lowerBound.type.toLowerCase () != "text" &&
	 lowerBound.type.toLowerCase () != "hidden" &&
	 lowerBound.type.toLowerCase () != "password" )  //either upper or lower, doesn't matter
    {
        lowerBound = lowerBound.options[lowerBound.selectedIndex];
        upperBound = upperBound.options[upperBound.selectedIndex];
    }

    lowerUnBounded = inForm[paramName + "NoLowerBoundCheck"].checked;
    upperUnBounded = inForm[paramName + "NoUpperBoundCheck"].checked;
    lvalue = uvalue = "";

    if ( ! lowerUnBounded )
    {
        if ( ! checkSingleValue ( lowerBound.value, type ) ) {
            if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden")
                lowerBound.focus ();
            return false;
        }
        lvalue = lowerBound.value;
    }
    if ( ! upperUnBounded )
    {
        if ( ! checkSingleValue ( upperBound.value, type ) ) {
            if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden")
                upperBound.focus ();
            return false;
        }
        uvalue = upperBound.value;
    }
    ldisplay = (lowerBound.text && !lowerUnBounded) ? lowerBound.text : lvalue;
    udisplay = (upperBound.text && !upperUnBounded) ? upperBound.text : uvalue;

    lowerChecked = inForm[paramName + "LowerCheck"].checked;
    upperChecked = inForm[paramName + "UpperCheck"].checked;

    value = ( lowerChecked && ! lowerUnBounded ) ? "[" : "(";
    if ( ! lowerUnBounded ) //unbounded is empty string not quoted empty string (e.g not "_crEMPTY_")
        value += encodePrompt(lvalue);
    value += "_crRANGE_"
    if ( ! upperUnBounded )
        value += encodePrompt(uvalue);
    value += (upperChecked && ! upperUnBounded ) ? "]" : ")";
    if ( debug ) alert (value);

    display = ( lowerChecked && ! lowerUnBounded ) ? "[" : "(";
    display += ldisplay;
    display += "  ..  "
    display += udisplay;
    display += (upperChecked && ! upperUnBounded ) ? "]" : ")";

	promptEntry = new Option(display,value,false,false);
	theList = inForm[paramName + "ListBox"];
	theList.options[theList.length] = promptEntry;

}

////////////////////////////////////
// disable check boxes based on user selection on the range parameters
function disableBoundCheck(lowOrUpBound, inform, paramName) {
	if (lowOrUpBound == 0) {
		if (inform[paramName + "NoLowerBoundCheck"].checked) {
			inform[paramName + "NoUpperBoundCheck"].disabled = true;
			inform[paramName + "LowerCheck"].disabled = true;
			inform[paramName + "LowerBound"].disabled = true;
		}
		else {
			inform[paramName + "NoUpperBoundCheck"].disabled = false;
			inform[paramName + "LowerCheck"].disabled = false;
			inform[paramName + "LowerBound"].disabled = false;
		}
	} else if (lowOrUpBound == 1) {
		if (inform[paramName + "NoUpperBoundCheck"].checked) {
			inform[paramName + "NoLowerBoundCheck"].disabled = true;
			inform[paramName + "UpperCheck"].disabled = true;
			inform[paramName + "UpperBound"].disabled = true;
		} else {
			inform[paramName + "NoLowerBoundCheck"].disabled = false;
			inform[paramName + "UpperCheck"].disabled = false;
			inform[paramName + "UpperBound"].disabled = false;
		}
	}
}

////////////////////////////////////
// puts "select" value into text box for an editable prompt which also has defaults
function setSelectedValue (inForm, selectCtrl, textCtrl)
{
    selectedOption = inForm[selectCtrl].options[inForm[selectCtrl].selectedIndex];
    inForm[textCtrl].value = selectedOption.value;
}

///////////////////////////////////
// remove value from listbox where multiple value prompts are supported
function removeFromListBox ( inForm, paramName )
{
	lbox = inForm[paramName + "ListBox"];
	for ( var idx = 0; idx < lbox.options.length; )
	{
		if ( lbox.options[idx].selected )
			lbox.options[idx] = null;
		else
			idx++;
	}
}

/////////////////////////////////////
// sets prompt value into the hidden form field in proper format so that it can be submitted
function setPromptSingleValue (inform, type, paramName)
{
    hiddenField = inform[promptPrefix + paramName];
    value = "";
    if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked )
        value = "_crNULL_"; //NULL is a literal for, uhmm.. a NULL
    else
    {
        discreteVal = inform[paramName + "DiscreteValue"];
        if ( discreteVal.type.toLowerCase () != "text" &&
 	     discreteVal.type.toLowerCase () != "hidden" &&
	     discreteVal.type.toLowerCase () != "password")
            value = discreteVal.options[discreteVal.selectedIndex].value;
        else
            value = discreteVal.value;
        if ( ! checkSingleValue ( value, type ) ) {
            if (discreteVal.focus && discreteVal.type.toLowerCase ())
 	    		discreteVal.focus ();
            return false;
        }
        else
            value = encodePrompt(value);
    }
    hiddenField.value = value;
	return true;
}

/////////////////////////////////////
// sets prompt value for a range into the hidden form field in proper format so that it can be submitted
function setPromptRangeValue (inform, type, paramName)
{
    hiddenField = inform[promptPrefix + paramName];

    lowerBound = inform[paramName + "LowerBound"];
    upperBound = inform[paramName + "UpperBound"];
    //handle select box, not text box case
    if ( lowerBound.type.toLowerCase () != "text" &&
	 lowerBound.type.toLowerCase () != "hidden" &&
	 lowerBound.type.toLowerCase () != "password")  //either upper or lower, doesn't matter
    {
        lowerBound = lowerBound.options[lowerBound.selectedIndex];
        upperBound = upperBound.options[upperBound.selectedIndex];
    }
    lowerUnBounded = inform[paramName + "NoLowerBoundCheck"].checked;
    upperUnBounded = inform[paramName + "NoUpperBoundCheck"].checked;
    lowerChecked = inform[paramName + "LowerCheck"].checked;
    upperChecked = inform[paramName + "UpperCheck"].checked;
    uvalue = lvalue = "";

    if ( ! lowerUnBounded )
    {
        if ( ! checkSingleValue ( lowerBound.value, type ) ) {
            if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden")
                lowerBound.focus();
            return false;
        }
        lvalue = lowerBound.value;
    }
    if ( ! upperUnBounded )
    {
        if ( ! checkSingleValue ( upperBound.value, type ) ) {
            if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden")
                upperBound.focus ();
            return false;
        }
        uvalue = upperBound.value;
    }
    value = ( lowerChecked && ! lowerUnBounded ) ? "[" : "(";
    if ( ! lowerUnBounded )
        value += encodePrompt(lvalue);
    value += "_crRANGE_"
    if ( ! upperUnBounded )
        value += encodePrompt(uvalue);
    value += (upperChecked && ! upperUnBounded ) ? "]" : ")";
    if ( debug )
        alert (value);
    hiddenField.value = value;
	return true;
}

/////////////////////////////////////
// sets prompt value into the hidden form field in proper format so that it can be submitted
function setPromptMultipleValue (inform, type, paramName)
{
    hiddenField = inform[promptPrefix + paramName];
    values = inform[paramName + "ListBox"].options;
    if ( values.length == 0 )
    {
        value = "_crEMPTY_";     //if value is empty, set to empty string
    }
    else
    {
        value = "";
        for ( idx = 0; idx < values.length; ++idx )
        {
            // first value could be empty string, then chcking value.length != 0 could miss one empty string
            if ( idx != 0 )
                value += "_crMULT_"
            value += values[idx].value;
        }
    }

    if ( debug )
        alert (value);
    hiddenField.value = value;
    //NOTE: we'll always return true as the validation is done before values are added to select box
	return true;
}

///////////////////////////////////////
// check and alert user about any errors based on type of prompt
var regNumber    = /^(\+|-)?((\d+(\.|,| |\u00A0)?\d*)+|(\d*(\.|,| |\u00A0)?\d+)+)$/
var regCurrency  = regNumber;
var regDate	 = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/
var regDateTime  = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/
var regTime	 = /^(T|t)(I|i)(M|m)(E|e) *\( *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/

function checkSingleValue ( value, type )
{
	if ( type == 'n' && ! regNumber.test ( value ) )
	{
		alert ( L_BadNumber );
		return false;
	}
	else if ( type == 'c' && ! regCurrency.test ( value ) )
	{
		alert ( L_BadCurrency );
		return false;
	}
	else if ( type == 'd' && ! regDate.test ( value ) )
	{
		alert ( L_BadDate );
		return false;
	}
	else if ( type == "dt" && ! regDateTime.test ( value ) )
	{
		alert ( L_BadDateTime );
		return false;
	}
	else if ( type == 't' && ! regTime.test ( value ) )
	{
		alert ( L_BadTime );
		return false;
	}

	//by default let it go...
	return true;
}

// Disable enter key checking for multibyte languages since the enter key is used for committing characters
var isEnabledLanguage = (! ((userLanguage == "ja") || (userLanguage == "ko") || (userLanguage == "zh")) )

var isNav = (navigator.appName == "Netscape");
if (isEnabledLanguage)
{
    if(isNav) {
        document.captureEvents(Event.KEYUP);
    }
    document.onkeyup = checkValue;
}

function checkValue(evt) {
  var buttonVal = "";
  if (isNav) {
	if (evt.which == 13 && (evt.target.type == "text" || evt.target.type == "password")) {
		buttonVal = evt.target.value;
	}
  } else {
	// Same effect as 'if (window.event.srcElement.type == "text" || window.event.srcElement.type == "password")'
	if (window.event.keyCode == 13 && window.event.srcElement.className == "promptTextBox") {
		buttonVal = window.event.srcElement.value;
	}
  }

  if (buttonVal != "") {
	checkSetAndSubmitValues ();
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品网站在线观看| 日日摸夜夜添夜夜添亚洲女人| 一区二区三区国产豹纹内裤在线| 久久电影国产免费久久电影| 91麻豆国产在线观看| 精品理论电影在线观看| 五月婷婷久久丁香| av亚洲产国偷v产偷v自拍| 精品日韩欧美一区二区| 婷婷久久综合九色国产成人| 在线亚洲人成电影网站色www| 国产校园另类小说区| 久久99国内精品| 欧美精品粉嫩高潮一区二区| 亚洲国产aⅴ天堂久久| 色综合久久久久久久久| 国产精品无遮挡| 国产一区二区免费视频| 日韩欧美另类在线| 美女在线一区二区| 制服视频三区第一页精品| 亚洲综合另类小说| 91国在线观看| 亚洲女与黑人做爰| 91麻豆免费观看| 亚洲另类在线视频| 色久优优欧美色久优优| 亚洲天堂a在线| 91久久精品网| 亚洲一区欧美一区| 欧美精品久久99久久在免费线 | 午夜精品在线视频一区| 色综合天天综合网天天看片| 亚洲欧美在线观看| 成人毛片在线观看| 日韩理论在线观看| 色一情一伦一子一伦一区| 亚洲伦在线观看| 一本大道久久a久久精品综合| 亚洲欧美日韩系列| 在线观看一区日韩| 免费成人在线影院| 久久精品这里都是精品| 成人一级片在线观看| 成人免费一区二区三区视频| 欧美中文字幕一区二区三区 | 欧美日韩精品电影| 午夜精品久久久久久久99水蜜桃| 欧美私人免费视频| 秋霞影院一区二区| 国产拍揄自揄精品视频麻豆| 99re这里只有精品首页| 一区二区三区欧美激情| 欧美日韩成人高清| 韩国av一区二区| 亚洲视频 欧洲视频| 欧美日本一区二区在线观看| 黄色精品一二区| 亚洲欧美视频在线观看视频| 欧美一区二区日韩| www.欧美色图| 日本在线不卡视频一二三区| 久久久久亚洲蜜桃| 欧美在线三级电影| 狠狠色丁香久久婷婷综| 亚洲精品国产一区二区三区四区在线| 欧美肥胖老妇做爰| 成人免费福利片| 日韩精品久久久久久| 国产亚洲精品7777| 91精品国产丝袜白色高跟鞋| 丁香天五香天堂综合| 日韩精品电影一区亚洲| 中文字幕免费不卡| 这里是久久伊人| 色综合中文字幕国产| 日本在线不卡视频| 亚洲免费在线视频一区 二区| 日韩美女天天操| 欧美亚洲动漫精品| 国产精品一品视频| 热久久免费视频| 一区二区三区在线视频播放 | 久久久夜色精品亚洲| 在线亚洲一区二区| 粉嫩13p一区二区三区| 亚洲国产精品久久一线不卡| 亚洲国产精品成人综合 | 99久久精品免费看| 欧美aa在线视频| 亚洲va欧美va人人爽| 综合精品久久久| 国产色婷婷亚洲99精品小说| 欧美性色黄大片| 高清不卡一二三区| 国产自产2019最新不卡| 日本不卡视频一二三区| 亚洲一区二区三区视频在线播放| 国产精品水嫩水嫩| 亚洲国产精品精华液2区45| 欧美电视剧在线观看完整版| 欧美日韩三级视频| 欧美日韩一区精品| 在线看国产日韩| 色中色一区二区| 色诱亚洲精品久久久久久| 91免费国产视频网站| 成年人国产精品| 成人黄色一级视频| 成人高清视频在线| 99久久精品费精品国产一区二区| 成人理论电影网| 91在线观看地址| 99re这里只有精品首页| 91免费视频大全| 日本韩国视频一区二区| 日本韩国欧美在线| 欧美日韩一区视频| 在线观看91av| 欧美成人艳星乳罩| 欧美大度的电影原声| 欧美电影免费提供在线观看| 精品久久久久久无| 久久久国产一区二区三区四区小说| 久久久久久夜精品精品免费| 国产嫩草影院久久久久| 中文字幕在线观看不卡视频| 亚洲免费在线看| 午夜视黄欧洲亚洲| 久久99国产精品久久| 国产在线视视频有精品| 国产精品99久久久久久久vr | 自拍视频在线观看一区二区| ...av二区三区久久精品| 亚洲欧美电影院| 日韩在线a电影| 激情综合网最新| 91在线观看污| 日韩一区二区免费视频| 久久久精品免费网站| 亚洲丝袜自拍清纯另类| 一区二区欧美国产| 青青草国产精品亚洲专区无| 国产一区二区三区四区五区美女| 成人av网在线| 欧美精品黑人性xxxx| 国产香蕉久久精品综合网| 亚洲美女屁股眼交| 日本aⅴ免费视频一区二区三区| 国产一区91精品张津瑜| 色域天天综合网| 亚洲精品一区二区三区99| 亚洲欧美另类小说| 免费看日韩a级影片| 不卡视频在线看| 欧美一级艳片视频免费观看| 久久婷婷成人综合色| 亚洲午夜在线电影| 国产一区二区三区在线观看免费| 色美美综合视频| 精品国产乱码91久久久久久网站| ...av二区三区久久精品| 久久99精品一区二区三区| 91网站最新地址| 精品欧美乱码久久久久久1区2区 | 石原莉奈一区二区三区在线观看| 国产精品亚洲а∨天堂免在线| 欧美群妇大交群中文字幕| 国产色综合一区| 美女尤物国产一区| 91国在线观看| 日韩毛片精品高清免费| 韩国精品久久久| 日韩一区二区精品| 亚洲国产日韩a在线播放性色| 国产69精品久久久久777| 日韩午夜精品电影| 亚洲第一久久影院| 一本大道久久a久久精品综合| 中文字幕成人网| 国产精品综合视频| 欧美精品一区男女天堂| 奇米一区二区三区av| 欧美日韩在线不卡| 亚洲国产色一区| 色视频成人在线观看免| 国产精品国产a| 成人午夜在线免费| 久久蜜臀中文字幕| 国产精品综合二区| 久久综合九色综合久久久精品综合| 天天色综合天天| 欧美精品123区| 日韩高清一级片| 日韩一级大片在线| 狠狠色丁香婷婷综合久久片| 精品国产91乱码一区二区三区| 日本亚洲天堂网| 日韩一级片网址| 国产一区二区三区精品欧美日韩一区二区三区 |