📄 prompts_param.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 CR_NULL = "_crNULL_";
var CR_USE_VALUE = "_crUseValue_";
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));
///////////////////////////////
// substitue range string
function ConstructRangeDisplayString(rangeStr, param0, param1)
{
var newString = rangeStr.replace("{0}", param0);
newString = newString.replace("{1}", param1);
return newString;
}
///////////////////////////////
// Display string for range value in ListBox
function GetRangeValueDisplayText(rangeStr, param0, param1, paramType)
{
if (paramType == "dt" || paramType == "d" || paramType == "t")
{
if (param0.length != 0)
{
param0 = NeutralDT2D(param0);
}
if (param1.length != 0)
{
param1 = NeutralDT2D(param1);
}
}
return ConstructRangeDisplayString(rangeStr, param0, param1);
}
///////////////////////////////
// properly encode prompt values
function encodePrompt (prompt)
{
if (needURLEncode)
{
return encodeURIComponent(prompt);
}
else
{
return prompt;
}
}
function clickSetNullCheckBox(inForm, paramName, suffix)
{
var nullCtrl = inForm[paramName + "NULL"];
var textCtrl = inForm[paramName + suffix];
var hiddenCtrl = inForm[paramName + suffix + "Hidden"];
var hourCtrl = inForm[paramName + suffix + "Hour"];
var minuteCtrl = inForm[paramName + suffix + "Minute"];
var secondCtrl = inForm[paramName + suffix + "Second"];
var ampmCtrl = inForm[paramName + suffix + "AMPM"];
if (nullCtrl.checked)
{
if (textCtrl != null) textCtrl.disabled = true;
if (hourCtrl != null) hourCtrl.disabled = true;
if (minuteCtrl != null) minuteCtrl.disabled = true;
if (secondCtrl != null) secondCtrl.disabled = true;
if (ampmCtrl != null) ampmCtrl.disabled = true;
}
else
{
if (textCtrl != null) textCtrl.disabled = false;
if (hourCtrl != null) hourCtrl.disabled = false;
if (minuteCtrl != null) minuteCtrl.disabled = false;
if (secondCtrl != null) secondCtrl.disabled = false;
if (ampmCtrl != null) ampmCtrl.disabled = false;
}
}
function ClearListBoxAndSetNULL(theList)
{
// delete everything in the listbox, add _crNULL_ as an item
promptEntry = new Option(L_NoValue, CR_NULL,false,false);
for ( var idx = 0; idx < theList.options.length; )
{
theList.options[0] = null;
idx++;
}
theList.options[0] = promptEntry;
return;
}
////////////////////////////////
// add number, currency, string from dropdown/textbox to list box
// where multiple prompt values are supported
function DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl)
{
var promptValue = "";
var year;
var month;
var day;
if ((type == "dt") || (type == "d"))
{
var d = hiddenCtrl.value;
if (d.length == 0)
{
alert(L_NoDateEntered);
return "";
}
var leftIndex = d.indexOf("(");
var rightIndex = d.indexOf(")");
d = d.substr(leftIndex + 1, rightIndex - leftIndex - 1);
var dArray = d.split(",");
year = dArray[0];
month = dArray[1];
day = dArray[2];
}
if (type == "dt")
{
promptValue = "DateTime(";
promptValue += year;
promptValue += ",";
promptValue += month;
promptValue += ",";
promptValue += day;
promptValue += ",";
var hour = 0;
if (ampmCtrl != undefined)
{
var i = 0;
if (ampmCtrl.selectedIndex == 1)
i = 1;
hour = hourCtrl.selectedIndex + 1 + i * 12;
if (hour == 12) hour = 0;
else if (hour == 24) hour = 12;
}
else
{
hour = hourCtrl.selectedIndex;
}
promptValue += hour;
promptValue += ",";
promptValue += minuteCtrl.selectedIndex;
promptValue += ",";
promptValue += secondCtrl.selectedIndex;
promptValue += ")";
}
else if (type == "d")
{
promptValue = "Date(";
promptValue += year;
promptValue += ",";
promptValue += month;
promptValue += ",";
promptValue += day;
promptValue += ")";
}
else if (type == "t")
{
promptValue = "Time("
var hour = 0;
if (ampmCtrl != undefined)
{
var i = 0;
if (ampmCtrl.selectedIndex == 1)
i = 1;
hour = hourCtrl.selectedIndex + 1 + i * 12;
if (hour == 12) hour = 0;
else if (hour == 24) hour = 12;
}
else
{
hour = hourCtrl.selectedIndex;
}
promptValue += hour;
promptValue += ",";
promptValue += minuteCtrl.selectedIndex;
promptValue += ",";
promptValue += secondCtrl.selectedIndex;
promptValue += ")";
}
return promptValue;
}
function DateTimeDisplayStringHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl)
{
var neutralstring = DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl);
return NeutralDT2D(neutralstring);
}
function addPromptDiscreteValueHelper(inForm, type, paramName, suffix)
{
theList = inForm[paramName + "ListBox"];
// if there is a NULL checkbox and it is set
if ( inForm[paramName + "NULL"] != null && inForm[paramName + "NULL"].checked )
{
// delete everything in the listbox, add _crNULL_ as an item
ClearListBoxAndSetNULL(theList);
return;
}
// if the listbox already has a NULL value in it, don't do anything, unless user removes NULl value from the listbox
if (theList.options.length > 0 && theList.options[0].value == CR_NULL)
{
alert(L_NoValueAlready);
return;
}
// if defaultdropdownlist selected item is _crNULL_, put it into multiple listbox
var dropDownListName = "";
if (suffix == "DiscreteValue")
dropDownListName = paramName + "SelectValue";
else
dropDownListName = paramName + "SelectLowerBound";
var dropDownListCtrl = inForm[dropDownListName];
if (dropDownListCtrl != null)
{
if (dropDownListCtrl.options[dropDownListCtrl.selectedIndex].value == CR_NULL)
{
// delete everything in the listbox, add _crNULL_ as an item
ClearListBoxAndSetNULL(theList);
return;
}
}
var textCtrl = inForm[paramName + suffix];
var hiddenCtrl = inForm[paramName + suffix + "Hidden"];
var hourCtrl = inForm[paramName + suffix + "Hour"];
var minuteCtrl = inForm[paramName + suffix + "Minute"];
var secondCtrl = inForm[paramName + suffix + "Second"];
var ampmCtrl = inForm[paramName + suffix + "AMPM"];
var obj;
var editables = true;
if (textCtrl == undefined && hourCtrl == undefined)
{
//select box not a textbox, hour, minute, and second, ampm dropdown are not there either
editables = false;
obj = dropDownListCtrl;
obj = obj.options[obj.selectedIndex];
}
else
{
if (type == "t")
obj = hourCtrl;
else
obj = textCtrl;
}
if (editables && (type == "dt" || type == "d" || type == "t"))
{
promptValue = DateTimePromptValueHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl);
if (promptValue.length == 0) return false;
displayString = DateTimeDisplayStringHelper(type, hiddenCtrl, hourCtrl, minuteCtrl, secondCtrl, ampmCtrl);
}
else
{
promptValue = encodePrompt(obj.value);
displayString = ( obj.text ) ? obj.text : obj.value;
}
if ( ! checkSingleValue (promptValue, type ) )
{
return false;
}
promptEntry = new Option(displayString,promptValue,false,false);
theList.options[theList.length] = promptEntry;
}
function addPromptDiscreteValue ( inForm, type , paramName)
{
addPromptDiscreteValueHelper(inForm, type, paramName, "DiscreteValue");
}
////////////////////////////////////
// adds Range prompt to listbox where multiple values are supported
function addPromptDiscreteRangeValue ( inForm, type , paramName )
{
lowerOption = inForm[paramName + "SelectLowerOptions"];
// exactly
if (lowerOption.selectedIndex == 1)
{
// add discrete
addPromptDiscreteValueHelper(inForm, type, paramName, "LowerBound");
}
else
{
// add range
addPromptRangeValue(inForm, type, paramName);
}
}
////////////////////////////////////
// adds Range prompt to listbox where multiple values are supported
function addPromptRangeValue ( inForm, type , paramName )
{
theList = inForm[paramName + "ListBox"];
// if there is a NULL checkbox and it is set
if ( inForm[paramName + "NULL"] != null && inForm[paramName + "NULL"].checked )
{
// delete everything in the listbox, add _crNULL_ as an item
ClearListBoxAndSetNULL(theList);
return;
}
// if the listbox already has a NULL value in it, don't do anything, unless user removed NULl value from the listbox
if (theList.options.length > 0 && theList.options[0].value == CR_NULL)
{
alert(L_NoValueAlready);
return;
}
// if both defaultdropdownlists selected item is _crNULL_, put it into multiple listbox
// if one of them is _crNULL_, it is not a valid option, do nothing
var lowerDropDownListName = paramName + "SelectLowerBound";
var upperDropDownListName = paramName + "SelectUpperBound";
var lowerDropDownListCtrl = inForm[lowerDropDownListName];
var upperDropDownListCtrl = inForm[upperDropDownListName];
if (lowerDropDownListCtrl != null && upperDropDownListCtrl != null)
{
if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL
&& upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL)
{
// delete everything in the listbox, add _crNULL_ as an item
ClearListBoxAndSetNULL(theList);
return;
}
else if (lowerDropDownListCtrl.options[lowerDropDownListCtrl.selectedIndex].value == CR_NULL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -