Javascript 更改输入类型

Javascript 更改输入类型,javascript,html,input,Javascript,Html,Input,我在一个相当动态的网站上工作,我希望用户能够选择他们想要输入的内容。输入选项是各种类型的输入(文本、密码等)。是否有一些样式/方法来创建此选项?我在想,他们从下拉菜单中选择,然后Javascript会处理剩下的部分。但我认为一定有某种既定的方法来解决这个问题,而我只是在网上找不到这种方法 感谢您的帮助。在Javascript中,您可以创建如下输入 var input = document.createElement('input'); input.type = 'button'; ... 因此

我在一个相当动态的网站上工作,我希望用户能够选择他们想要输入的内容。输入选项是各种类型的输入(文本、密码等)。是否有一些样式/方法来创建此选项?我在想,他们从下拉菜单中选择,然后Javascript会处理剩下的部分。但我认为一定有某种既定的方法来解决这个问题,而我只是在网上找不到这种方法


感谢您的帮助。

在Javascript中,您可以创建如下输入

var input = document.createElement('input');
input.type = 'button';
...
因此,如果您想动态创建输入,可以创建一个下拉列表,将输入类型列为字符串(按钮、文本等)。然后,一旦用户在下拉列表中选择了字符串,您就可以将其传递给Javascript函数,如下所示:

function createInput(type) {
  var input = document.createElement('input');
  input.type = type
  ...
  return input;
}
然后,如果要将输入附加到id为“foo”的页面上的元素:

var input = createInput('button');
var appendToThis = document.getElementById('foo');
appendToThis.appendChild(input);
如果要在页面上以div开头,请想象页面上有一个id为foo的div标记:

<div id=foo><input type=text></div>

我最初是这样回答你的问题的:

<input type="text" id="changingInput">
<input type="button" value="Click Here For Example Of Changing" onclick="javascript:document.getElementById('changingInput').type = 'password';">

但后来我检查了一下,它在IE中不起作用。。。或者当然。(它在Safari中工作得非常好)所以我在这里找到了这个很棒的链接:


希望这有帮助

你想实现什么类型的输入?@phoenix我一直在考虑输入类型text和password以及textarea。虽然我必须尝试一下,看看它是否适合我的设置,但它看起来很棒,谢谢你的帮助!我刚刚尝试实现代码,但遇到了一点问题。这个问题是,我希望有一个默认的输入字段,但随后下拉菜单将使用户能够更改它。当我运行这个脚本时,有什么方法可以替换另一个输入字段吗?当然,只需使用Javascript创建一个div,就像上面的输入一样。然后创建一个默认输入并将其附加到div。当用户选择一个新的输入类型时,清空div,并将适当类型的新输入输出附加到div。我喜欢将清除div(或其他元素)的函数缩写如下:函数rac(obj){while(obj.hasChildNodes())obj.removeChild(obj.firstChild);}感谢链接,我将检查它!
<input type="text" id="changingInput">
<input type="button" value="Click Here For Example Of Changing" onclick="javascript:document.getElementById('changingInput').type = 'password';">