2009-06-22 76 views
1

我在一个相当动态的网站上工作,我希望用户能够选择他们想要输入的内容。输入的选择是各种类型的输入(文本,密码等)是否有一些风格/方式来创建?我在想,他们从下拉菜单中选择,然后Javascript处理剩下的事情。但是我认为必须有一些既定的方式来处理这个问题,我只是在网上找不到。更改输入类型

感谢您的任何帮助。

+0

你想实现什么类型的输入? – rahul 2009-06-22 04:10:37

+0

@phoenix 我一直在思考输入类型文本和密码以及textarea。 – PF1 2009-06-22 15:38:17

回答

3

在Javascript中,您将创建一个输入,如下所示。

var input = document.createElement('input'); 
input.type = 'button'; 
... 

所以,如果你想动态创建的投入,你可以创建一个下拉列表,其中列出了输入类型为字符串(按钮,文本等)。然后,一旦用户选择了在下拉列表中的字符串,你将它传递给一个Javascript功能如下所示:

function createInput(type) { 
    var input = document.createElement('input'); 
    input.type = type 
    ... 
    return input; 
} 

然后,如果你想输入附加到一个元素在页面上ID为“富':

var input = createInput('button'); 
var appendToThis = document.getElementById('foo'); 
appendToThis.appendChild(input); 

如果你想开始与网页div,想像你有id为foo的页面上的div标签:

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

然后,当用户选择一个项目清楚div和作出新的输入:

function whenUserChoosesAType(type) { 
    var div = document.getElementById('foo'); 
    rac(div); 
    var input = document.createElement('input'); 
    div.appendChild(input); 
}  

//abbreviated function to clear the contents of a DOM element such as a div 
function rac(elem) { 
    while(elem.hasChildNodes()) elem.removeChild(elem.firstChild); 
} 
+0

虽然我不得不尝试一下,看看它是否适用于我的设置,但它看起来不错,我感谢您的帮助! – PF1 2009-06-22 13:22:45

0

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

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

但后来我查了一下,并没有在IE浏览器...或课程工作(它DOES在Safari奇妙的工作),所以我在这里发现了这个伟大的链接:

http://www.universalwebservices.net/web-programming-resources/javascript/change-input-element-type-using-javascript

希望这有助于!