JavaScript& JSP文本字段无法清除

时间:2012-11-19 11:11:45

标签: html jsp

我在网上找到了很多关于如何清除你点击的同一文本字段的例子,但我希望用户点击文本字段1,然后清除文本字段2,反之亦然。

这几个小时都在挣扎。我遇到的问题是我没有错误,没有输出,但它不起作用。我不知道问题是什么。

我的代码:

<jsp:useBean id="speed" class="java.lang.String" scope="request" />
<jsp:useBean id="force" class="java.lang.String" scope="request" />

<script>
    function clearSpeed() {
        var x = document.getElementByID(speed);
        x.value = "";
    }

    function clearForce() {
        var x = document.getElementByID(force);
        x.value = "";
    }
</script>

<input type="text" id="speed" onfocus='clearForce()' value="<%=speed%>">

<input type="text" id="force" onfocus='clearSpeed()' value="<%=force%>">

1 个答案:

答案 0 :(得分:2)

您需要引用字符串,JavaScript区分大小写 - 函数为getElementById()

function clearSpeed() {
    var x = document.getElementById('speed'); // added quotes around the id
    x.value = "";
}

function clearForce() {
    var x = document.getElementById('force'); // added quotes around the id
    x.value = "";
}

更好的是:

<input type="text" id="speed" onfocus="clearValue('force')" value="<%=speed%>">
<input type="text" id="force" onfocus="clearValue('speed')" value="<%=force%>">

调用单个函数(我还更改了引号以获得更好的一致性)

更新了JavaScript:

function clearValue(id) {
    var x = document.getElementById(id); // no need for quotes and value passed in as variable
    x.value = "";
}

这促进了可重复使用的代码并减少了重复

var x = document.getElementById(id);
x.value = "";

可能会成为(如果你真的想缩短它!)

document.getElementById(id).value = "";

除非你想用DOM元素做其他事情

,否则不需要使用变量