3

当用户单击“重置”按钮时,我试图让文本字段恢复为默认值。

现在,当用户单击“重置”按钮时,它所做的就是将用户的文本替换为“”。

我怎样才能通过使用纯 JavaScript(没有 jQuery)来做到这一点?

HTML:

<p>Type the first number</p>
<input id="first" type="text" placeholder="First Number" />
<p>Type the second number</p>
<input id="second" type="text" placeholder="Second Number" />
<button id="aButton">Apply</button>
<button id="rButton">Reset</button>
<div id="add"></div>

JAVASCRIPT:

app.onactivated = function (args) {
        var aButton = document.getElementById("aButton");
        aButton.addEventListener("click", buttonClickHandler, false);

        var rButton = document.getElementById("rButton");
        rButton.addEventListener("click", buttonResetHandler, false);

    };

...

function buttonResetHandler(evetInfo) {

        document.getElementById("first").innerText = '';
        document.getElementById("second").innerText = '';

    }
4

4 回答 4

9

innerText是在IE浏览器中实现的无效属性,用于设置/获取非表单元素的文本内容,如果应该将值设置为默认值,您可以使用defaultValue属性:

var a = document.getElementById("first"),
    b = document.getElementById("second");
a.value = a.defaultValue;
b.value = b.defaultValue;

如果要重置所有表单元素,可以使用.reset()DOMHTMLFormElement对象的方法:

document.forms["myForm"].reset();
于 2013-05-26T23:27:37.773 回答
2
  1. location.reload(); // 重新加载页面
  2. 历史.go(0); // 删除历史
  3. 但是,如果您需要在页面内保留一些值,请再次重新分配函数中的值。要重新分配,请在 中再次写入变量(声明let以稍后更改)并再次function更改textContent
于 2021-03-17T09:04:25.230 回答
0

代替,

document.getElementById("first").innerText

和,

document.getElementById("first").value

例子:

<input id="txtBox" type="text" value="lama">
<input type="button" value="reset lama" onclick='document.getElementById("txtBox").value="lama2";'>
于 2013-05-26T23:22:04.653 回答
-1

创建一个为每个输入设置默认值的初始化函数,然后您可以调用它:

function initializeInputs() {
    document.getElementById("first").value = '';
    document.getElementById("second").value= '';
}

function buttonResetHandler(e) {
    initializeInputs();
}
于 2013-05-26T23:22:22.483 回答