是否可以在HTML表单中创建自己的自定义输入类型?

时间:2017-05-09 22:56:03

标签: javascript html html5 css3 html-form

我想知道我是否能做出这样的事情:<input type="secure">。我想知道是否可以为我的网站制作自定义输入类型。 我打算用它来做一些你通常不能做的事情并用CSS来设置它并使它用JavaScript做我想做的事情。这是任何一个例子:

CSS

@import url("https://fonts.googleapis.com/css?family=Roboto");
input[type="secure"] {
  background-color: #b5d1ff;
  border: 0.5px solid #f4a460;
  height: 1.6rem;
  color: black;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  width: 8.62rem;
  font-family: 'Roboto', serif;
}

我目前还没有决定用JavaScript做什么,但我认为你明白了。

3 个答案:

答案 0 :(得分:3)

您可以创建此类输入,但浏览器会将未知type值视为默认值text(已登录到控制台)。如果您检查DOM,您会看到type="secure"

const s = document.createElement('input');
s.setAttribute('type', 'secure');

document.body.appendChild(s);

console.log(s); // <input type="secure">

console.log('type: ', s.type); // type: "text"

答案 1 :(得分:2)

是的,你可以做到这一点,但是你并没有真正做出新的输入,你只需要创建一个浏览器/渲染引擎不知道并会忽略的类型。但CSS应该适用于它。

但是,我建议您只需在输入中添加一个类,如果这只是为了样式目的。

{{1}}

答案 2 :(得分:2)

不,那是什么课程。即使从技术上讲,您也可以打破兼容性和HTML标准合规性。