⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prompts_param.js

📁 根据图书馆日常图书管理工作的需求和图书借阅的管理流程
💻 JS
📖 第 1 页 / 共 3 页
字号:
            || 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 + -