📄 prompts_param.js
字号:
|| upperDropDownListCtrl.options[upperDropDownListCtrl.selectedIndex].value == CR_NULL)
{
alert(L_BadValue);
return;
}
}
lowerOption = inForm[paramName + "SelectLowerOptions"];
upperOption = inForm[paramName + "SelectUpperOptions"];
lowerBound = inForm[paramName + "LowerBound"];
upperBound = inForm[paramName + "UpperBound"];
lowerBoundHidden = inForm[paramName + "LowerBoundHidden"];
upperBoundHidden = inForm[paramName + "UpperBoundHidden"];
var lhourCtrl = inForm[paramName+"LowerBound" + "Hour"];
var lminuteCtrl = inForm[paramName + "LowerBound" + "Minute"];
var lsecondCtrl = inForm[paramName + "LowerBound" + "Second"];
var lampmCtrl = inForm[paramName + "LowerBound" + "AMPM"];
var uhourCtrl = inForm[paramName+"UpperBound" + "Hour"];
var uminuteCtrl = inForm[paramName + "UpperBound" + "Minute"];
var usecondCtrl = inForm[paramName + "UpperBound" + "Second"];
var uampmCtrl = inForm[paramName + "UpperBound" + "AMPM"];
var editable = true;
//handle select box, not text box case
if ( lowerBound == undefined && lhourCtrl == undefined)//either upper or lower, doesn't matter
{
editable = false;
lowerBound = inForm[paramName + "SelectLowerBound"];
upperBound = inForm[paramName + "SelectUpperBound"];
lowerBound = lowerBound.options[lowerBound.selectedIndex];
upperBound = upperBound.options[upperBound.selectedIndex];
}
lowerUnBounded = (inForm[paramName+"SelectLowerOptions"].selectedIndex == (inForm[paramName + "SelectLowerOptions"].options.length - 1));
upperUnBounded = (inForm[paramName+"SelectUpperOptions"].selectedIndex == (inForm[paramName + "SelectUpperOptions"].options.length - 1));
lvalue = uvalue = "";
if ( ! lowerUnBounded )
{
if ((type == "dt" || type == "d" || type == "t") && (editable))
{
lvalue = DateTimePromptValueHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl);
if (lvalue.length == 0) return false;
}
else
lvalue = lowerBound.value;
if ( ! checkSingleValue ( lvalue, type ) ) {
if ( lowerBound.focus && lowerBound.type.toLowerCase () != "hidden")
lowerBound.focus ();
return false;
}
}
if ( ! upperUnBounded )
{
if ((type == "dt" || type == "d" || type == "t") && (editable))
{
uvalue = DateTimePromptValueHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl);
if (uvalue.length == 0) return false;
}
else
uvalue = upperBound.value;
if ( ! checkSingleValue ( uvalue, type ) ) {
if ( upperBound.focus && upperBound.type.toLowerCase () != "hidden")
upperBound.focus ();
return false;
}
}
var ldisplay = "";
var udisplay = "";
if ((type == "dt" || type == "d" || type == "t") && (editable))
{
if (!lowerUnBounded)
ldisplay = DateTimeDisplayStringHelper(type, lowerBoundHidden, lhourCtrl, lminuteCtrl, lsecondCtrl, lampmCtrl);
if (!upperUnBounded)
udisplay = DateTimeDisplayStringHelper(type, upperBoundHidden, uhourCtrl, uminuteCtrl, usecondCtrl, uampmCtrl);
}
else
{
ldisplay = lvalue;
udisplay = uvalue;
}
lowerChecked = (inForm[paramName+"SelectLowerOptions"].selectedIndex == 0);
upperChecked = (inForm[paramName+"SelectUpperOptions"].selectedIndex == 0);
value = lowerUnBounded ? "{" : lowerChecked ? "[" : "(";
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 += upperUnBounded ? "}" : upperChecked ? "]" : ")";
if ( debug ) alert (value);
if ( !lowerUnBounded && !upperUnBounded && !checkRangeValue(lvalue, uvalue, type))
{
return false;
}
var display = "";
if (lowerChecked && upperUnBounded)
{
display = ConstructRangeDisplayString(L_FROM, ldisplay, "");
}
else if (lowerUnBounded && upperChecked)
{
display = ConstructRangeDisplayString(L_TO, udisplay, "");
}
else if (!lowerChecked && upperUnBounded)
{
display = ConstructRangeDisplayString(L_AFTER, ldisplay, "");
}
else if (lowerUnBounded && !upperChecked)
{
display = ConstructRangeDisplayString(L_BEFORE, udisplay, "");
}
else if (lowerChecked && upperChecked)
{
display = ConstructRangeDisplayString(L_FROM_TO, ldisplay, udisplay);
}
else if (lowerChecked && !upperUnBounded && !upperChecked)
{
display = ConstructRangeDisplayString(L_FROM_BEFORE, ldisplay, udisplay);
}
else if (!lowerChecked && !lowerUnBounded && upperChecked)
{
display = ConstructRangeDisplayString(L_AFTER_TO, ldisplay, udisplay);
}
else if (!lowerChecked && !lowerUnBounded && !upperChecked && !upperUnBounded)
{
display = ConstructRangeDisplayString(L_AFTER_BEFORE, ldisplay, udisplay);
}
if ((!lowerUnBounded) || (!upperUnBounded))
{
promptEntry = new Option(display,value,false,false);
theList.options[theList.length] = promptEntry;
}
else
{
alert(L_BadBound);
}
}
////////////////////////////////////
// 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, selectCtrlName, textCtrlName, type, namePlusFix)
{
var textCtrl = inForm[textCtrlName];
var selectCtrl = inForm[selectCtrlName];
var hiddenCtrl = inForm[namePlusFix+"Hidden"];
var hourCtrl = inForm[namePlusFix+"Hour"];
var minuteCtrl = inForm[namePlusFix+"Minute"];
var secondCtrl = inForm[namePlusFix+"Second"];
var ampmCtrl = inForm[namePlusFix+"AMPM"];
// if no editable input fields are there, return, do nothing;
if (textCtrl == null && hourCtrl == null)
return;
// if selectedItem is UseValue,do nothing, and return
if (selectCtrl.options[selectCtrl.selectedIndex].value == CR_USE_VALUE)
{
return;
}
if (selectCtrl.options[selectCtrl.selectedIndex].value == CR_NULL)
{
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;
return;
}
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;
}
var year, month, day;
var hour, minute, second;
if (type == "dt" || type == "d" || type == "t")
{
var sDateTime = selectCtrl.options[selectCtrl.selectedIndex].value;
if (sDateTime.length == 0)
return;
var leftIndex = sDateTime.indexOf("(");
sDateTime = sDateTime.substr(leftIndex+1, sDateTime.length - leftIndex);
var rightIndex = sDateTime.indexOf(")");
sDateTime = sDateTime.substr(0, rightIndex);
var a = sDateTime.split(",");
if (type == "dt")
{
year = a[0];
month = a[1];
day = a[2];
hour = parseInt(a[3]);
minute = parseInt(a[4]);
second = parseInt(a[5]);
}
else if (type == "d")
{
year = a[0];
month = a[1];
day = a[2];
}
else if (type == "t")
{
hour = parseInt(a[0]);
minute = parseInt(a[1]);
second = parseInt(a[2]);
}
}
selectedOption = selectCtrl.options[selectCtrl.selectedIndex];
if (type == "dt")
{
var dt = new Date(year, month - 1, day, hour, minute, second);
textCtrl.value = GLDT(dt, true, false);
hiddenCtrl.value = "Date(";
hiddenCtrl.value += year;
hiddenCtrl.value += ",";
hiddenCtrl.value += month;
hiddenCtrl.value += ",";
hiddenCtrl.value += day;
hiddenCtrl.value += ")";
if (ampmCtrl != undefined)
{
if (hour == 0 || hour == 12)
hourCtrl.selectedIndex = 11;
else if (hour > 12)
hourCtrl.selectedIndex = hour - 12 - 1;
else
hourCtrl.selectedIndex = hour - 1;
}
else
hourCtrl.selectedIndex = hour;
minuteCtrl.selectedIndex = minute;
secondCtrl.selectedIndex = second;
if (ampmCtrl != null)
{
if ( hour >= 12)
ampmCtrl.selectedIndex = 1;
else
ampmCtrl.selectedIndex = 0;
}
}
else if (type == "d")
{
var dt = new Date(year, month - 1, day, 0, 0, 0);
textCtrl.value = GLDT(dt, true, false);
hiddenCtrl.value = "Date(";
hiddenCtrl.value += year;
hiddenCtrl.value += ",";
hiddenCtrl.value += month;
hiddenCtrl.value += ",";
hiddenCtrl.value += day;
hiddenCtrl.value += ")";
}
else if (type == "t")
{
if (ampmCtrl != null)
{
if (hour == 0 || hour == 12)
hourCtrl.selectedIndex = 11;
else if (hour > 12)
hourCtrl.selectedIndex = hour - 12 - 1;
else
hourCtrl.selectedIndex = hour - 1;
}
else
hourCtrl.selectedIndex = hour;
minuteCtrl.selectedIndex = minute;
secondCtrl.selectedIndex = second;
if (ampmCtrl != null)
{
if ( hour >= 12)
ampmCtrl.selectedIndex = 1;
else
ampmCtrl.selectedIndex = 0;
}
}
else
{
textCtrl.value = selectedOption.value;
}
if (selectCtrl.options[0].value == CR_USE_VALUE)
{
// always show USE_VALUE as selectedItem for the dropdownlist
selectCtrl.selectedIndex = 0;
}
}
///////////////////////////////////
// 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)
{
//alert("SetPromptSingleValue");
hiddenField = inform[promptPrefix + paramName];
value = "";
if ( inform[paramName + "NULL"] != null && inform[paramName + "NULL"].checked )
{
value = CR_NULL; //NULL is a literal for, uhmm.. a NULL
hiddenField.value = value;
return true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -