HTML5为
提供了许多新类型<input />
如何检测输入字段是否为“文本字段”(日期,时间,电子邮件,文本等)
我不想写input[type='text'],input[type='xxx']
...
答案 0 :(得分:1)
您可以使用getAttribute来获取所需的任何属性(包括type
)
var input = document.getElementById('myinput');
var inputTYpe = input.getAttribute('type');
var isText = inputTYpe === 'text' || inputTYpe === '';
console.log('type is ', input.getAttribute('type'), ' is text = ', isText)
<input type="hey" id="myinput" />
答案 1 :(得分:1)
CSS3为
<input />
提供了许多新类型
HTML5,而不是CSS3。
我不想写
input[type='text'],input[type='xxx']
不幸的是,我认为您没有选择的余地。但是,由于它们中的绝大多数都是类似文本的,因此您可能只想调用那些不是文本的(例如range
,checkbox
,radio
,file
,submit
,image
,reset
,button
-HTML5中只有其中之一是新的。)
在可能的情况下,您希望将其隔离到一个位置。您已经提到过CSS,这可能会很困难,但是例如,如果您使用JavaScript进行此操作,则需要一个可重用的函数,以便可以根据需要进行更新。
答案 2 :(得分:0)
function unameit(el) {
var words=['button','checkbox','hidden','image','radio','range','reset','submit'],tp=el.type.toLowerCase();
return words.indexOf(tp)<0;
}
答案 3 :(得分:0)
如果要区分标签,可以使用
检查标签elementTag.tagName
例如,如果你有一个输入,你会得到文本“INPUT”
如果你想知道正在使用什么样的输入,你可以通过查看属性来检查
elementTag.type