javascript清除单个输入组的内容

javascript清除单个输入组的内容,javascript,Javascript,我有一个从属表格(对问题1回答“是”可能使问题2可见,但回答“否”可能使其不适用并消失) 我想将输入重置为无应答(无论输入类型如何) 我在用 document.getElementById('quest2').value = ""; 直到我了解到,如果你在复选框、单选按钮或选择框上执行此操作,不管用户是否再次单击其中一个选项(这很糟糕),你基本上都会将值设置为“”,我知道我们可以 switch (***field_type***) { case "text":

我有一个从属表格(对问题1回答“是”可能使问题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;
}
这就是我想做的基础 我的问题是首先我的语法正确吗


其次,*字段类型*应该包含哪些内容来检查(id'quest2')的输入类型

您可以打开
元素标记名(
输入
文本区域
选择
等)

元素。如果
为“输入”
文本
密码
无线电
等),则键入


我还建议添加一个
.toLowerCase()
,因为较旧的浏览器喜欢其标记为大写。

您可以打开
元素.tagName
输入
文本区域
选择
等)

元素。如果
为“输入”
文本
密码
无线电
等),则键入


我还建议添加一个
.toLowerCase()
,因为较老的浏览器希望它们的标记是大写的。

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

我会这样做:

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;
}

如果我理解正确的话,我会重新写一些

我会这样做:

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;
}

您是在使用jQuery,还是在标记问题时只是发出嘘声?所以您复制了代码并将其弄糟了?无意中标记了jquery,我没有弄乱代码,虽然它符合我需要完成的操作的最终逻辑,但我需要指定哪些框被清除,而不是全部清除,这是为您使用jquery设置的框,还是您在标记问题时只是做了一个booboo?所以您复制了代码并弄乱了它?无意中标记了jquery,我没有弄乱代码,虽然它符合我需要完成的操作的最终逻辑,但我需要指定清除哪些框,而不是所有框,这是设置该框的目的