javascript:检查<input />是否为输入字段

时间:2018-09-03 13:17:19

标签: javascript html

HTML5为

提供了许多新类型
<input />

如何检测输入字段是否为“文本字段”(日期,时间,电子邮件,文本等)

我不想写input[type='text'],input[type='xxx'] ...

4 个答案:

答案 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']

不幸的是,我认为您没有选择的余地。但是,由于它们中的绝大多数都是类似文本的,因此您可能只想调用那些不是文本的(例如rangecheckboxradiofilesubmitimageresetbutton-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