无法在jsp中显示预期值

时间:2012-07-23 05:59:01

标签: javascript jsp

我在javascript中将该值四舍五入到.25,.50,.75和.00。代码如下。

function roundOff(obj) {
    //alert(document.getElementById("sample").value);
    var val=obj.value;
    var newValue;

    var floorValue = Math.floor(val);
    var remainder = val - floorValue;
    if (remainder < 0.325) {
        if (remainder < 0.125) {
            newValue = floorValue;

        } else {
            newValue = floorValue + 0.25;
        }
    } else {
        if (remainder < 0.625) {
            newValue = floorValue + 0.5;
        } else if (remainder < 0.875) {
            newValue = floorValue + 0.75;
        } else {
            newValue = floorValue + 1;
        }
    }
    alert(floorValue);

        alert(newValue);
        document.getElementById("sample").value=newValue;

    //return obj;
}

但是我无法将值放回jsp页面。如果我输入5.5,jsp中只显示5。但如果我发出警报并检查floorvalue的值那么它是5.5。但如果我把它放在jsp的文本框中它只给出5.为什么会这样呢???

4 个答案:

答案 0 :(得分:0)

您正在将文本框的值设置为floorValue,而不是newValue。

答案 1 :(得分:0)

我在jsp中使用onKeyUp导致了麻烦。相反,我改为onBlur,因为它提供了与我的要求相同的效果。谢谢你'nnnnnn'的建议。它现在正在工作。

答案 2 :(得分:0)

尝试使用onblur事件。因为它在小提琴中工作得很好。除此之外,我认为你的代码没有问题。

答案 3 :(得分:-1)

你可以这样试试,

document.getElementById("sample").value="+floorValue+";

如果有效,您可以参考原因HERE第四个问题