Allow user to add negative number

Discussion in 'JavaScript' started by neo_phyte, Jan 12, 2013.

  1. #1
    I have this javascript that I need to modify so the first condition would allow me to input negative number -3, -2, -1..

        function testValidity(box, maxScale, useNA, useNegativeScale, nextBox)
        {
            var nScale, minScale, tab, oldValue, space, backspace, del, minNumPad, maxNumPad;
            oldValue = box.value;
            
            tab = 9;
            space = 32;
            backspace = 8;
            del = 46;
            
            if (useNegativeScale == "True")
            {
                var dash, subtract, hyphen;
                
                dash = 189;
                subtract = 109;
                hyphen = 173;
                nScale = 78;
                
                minScale = 48;
                minNumPad = 96;
                
                maxNumPad = minNumPad + (maxScale - minScale);
                
                if(event.keyCode == space || event.keyCode == backspace || event.keyCode == del)
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = "";
                }
                else if(event.keyCode == nScale && useNA == "True")
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = "n";
                }
                else if(event.keyCode == dash || event.keyCode == subtract || event.keyCode == hyphen)
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = "-";
                }
                else if((event.keyCode >= minScale && event.keyCode <= maxScale) || (event.keyCode >= minNumPad && event.keyCode <= maxNumPad))
                {
                    if (event.keyCode > maxScale)
                    {
                        box.value = event.keyCode - 96;
                    }
                    else
                    {
                        box.value = event.keyCode - 48;
                    }
                    
                    eval("document.all." + nextBox).focus();
                    event.cancelBubble = true;
                    event.returnValue = false;
                }
                else if (event.keyCode != tab)
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = oldValue;
                    self.alert("<%= pageVals.Item("errors")("invalidvalue") %>");
                    box.select();
                }
            }
            else
            {
                minScale = 49;
                minNumPad = 97;
                nScale = 78;
                
                maxNumPad = minNumPad + (maxScale - minScale);
                
                if(event.keyCode == space || event.keyCode == backspace || event.keyCode == del)
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = "";
                }
                else if(event.keyCode == nScale && useNA == "True")
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = "n";
                }
                else if((event.keyCode >= minScale && event.keyCode <= maxScale) || (event.keyCode >= minNumPad && event.keyCode <= maxNumPad))
                {
                    if (event.keyCode > maxScale)
                    {
                        box.value = event.keyCode - 96;
                    }
                    else
                    {
                        box.value = event.keyCode - 48;
                    }
                    
                    eval("document.all." + nextBox).focus();
                    event.cancelBubble = true;
                    event.returnValue = false;
                }
                else if(event.keyCode != tab)
                {
                    event.cancelBubble = true;
                    event.returnValue = false;
                    box.value = oldValue;
                    self.alert("<%= pageVals.Item("errors")("invalidvalue") %>");
                    box.select();
                }
            }
        }
    Code (markup):
    This means if useNegativeScale, then this should allow me to input negative number from -3 to -1... But not sure how I can do that? Because everytime I input negative number it will remove.

    Here is the HTML code:

    <td style="text-align: center;"><input type="text" onFocus="getElement('TR<%= i %>').className = 'Highlite<%= TRClass %>';" onBlur="getElement('TR<%= i %>').className = '<%= TRType & TRClass %>';" onKeyDown="testValidity(this, '<%= asc(negativeScaleMax) %>', '<%= useNA %>', '<%= useNegativeScale %>', '<% if i = maxQuestion then response.write "sc_scores_" & i else response.write "sc_scores_" & (i + 1) end if %>');" name="sc_scores_<%= i %>" id="sc_scores_<%= i %>" maxlength="2" size="2" value="<%= negativeScaleNum %>" tabIndex="<%= i + 5 %>" /></td>
    Code (markup):

    Please help.
     
    neo_phyte, Jan 12, 2013 IP
  2. neo_phyte

    neo_phyte Peon

    Messages:
    2
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Anyone wants to help me on this? I just want to enter negative number based on the current code above. Please help...
     
    neo_phyte, Jan 13, 2013 IP