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

📄 prompts_param.js

📁 一个简单的基于WEB的自助订票系统
💻 JS
📖 第 1 页 / 共 3 页
字号:

//////////////////////////////
// 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 + -