javascript清除单个输入组的内容

标签 javascript

我有一个附属表格(对问题 1 回答"is"可能会使问题 2 可见,但回答“否”可能会使其不适用并消失)

我想将输入重置为无答案(无论输入类型如何)

我正在使用

            document.getElementById('quest2').value = "";

直到我了解到这样一个事实:如果您对复选框、单选按钮或选择框执行此操作,则无论用户是否再次单击其中一个选项(这很糟糕),您实际上都将值设置为“”,我知道我们可以

    switch (***field_type***)
{
case "text":
case "password":
case "textarea":
case "hidden":
    document.getElementById('quest2').value = "";
    break;
case "radio":
case "checkbox":
    if (document.getElementById('quest2').checked)
    {
        document.getElementById('quest2').checked = false;
    }
    break;
case "select-one":
case "select-multi":
    document.getElementById('quest2').selectedIndex = -1;
    break;
default:
    break;
}

这是我想做的事情的基础 我的问题首先是我的语法是否正确

第二个应该是*field_type*包含的内容来检查(id'quest2')的输入类型

最佳答案

如果我理解正确,我会稍微重写一下。

我会做这样的事情:

var q2_Elem = document.getElementById('quest2');

switch (q2_Elem.type)
{
case "text":
case "password":
case "textarea":
case "hidden":
    q2_Elem.value = "";
    break;
case "radio":
case "checkbox":
    if (q2_Elem.checked)
    {
        q2_Elem.checked = false;
    }
    break;
case "select-one":
case "select-multi":
    q2_Elem.selectedIndex = -1;
    break;
default:
    break;
}

关于javascript清除单个输入组的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13126662/

相关文章:

javascript - 如何在javascript中获取不同地点的时区偏移量

javascript - Vue.js 和 Laravel 返回 json 和资源的区别

javascript - 使用javascript获取导航词

javascript - Python 中的 Webdriver - 执行 JavaScript 文件并将参数传递给其函数

javascript - split 不是数组上的函数

Javascript DOM 操作,每次点击创建一个新的 li 元素

javascript - AngularJS 将 html 附加到 dom 元素

javascript - 将 Pig Latin JavaScript 函数转换为 GUI 时遇到问题

javascript - 如何在响应式显示的行上添加类?

javascript - Angular ng-options 通过对象 id 预选值