我有一个受抚养的表格(对问题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;
}
这是我想要做的事情的基础 我的问题首先是我的语法正确
* field_type * 所包含的内容,以检查输入的类型(id' quest2')
答案 0 :(得分:1)
如果我理解正确,我会稍微重写一下。
我会做这样的事情:
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;
}
答案 1 :(得分:0)
您可以启用element.tagName
(input
,textarea
,select
等。
element.type
("input"
,text
,password
等,和radio
我建议您添加一个.toLowerCase()
,因为旧版浏览器(如标记)是大写的。