如何在javascript中创建密码字段

时间:2014-01-19 14:32:53

标签: javascript html forms web

我正在制作一个注册页面,用户可以选择注册为员工或管理员(单选按钮)。如果他选择以管理员身份注册,我需要添加他应该知道的密码字段(公司应该向他提供该密码)。 这是我试过的

<form method="post" action="Registration.php" onSubmit="return valid(this)">
#some code here
Admin<input type="radio" name="radiobutton" id="v2" value="v2" onclick="ch()">

<script type="text/javascript">
    function ch(){
    var newInput=document.createElement("input");
    newInput.setAttribute('type','password');
    newInput.setAttribute('name','password');
    newInput.setAttribute('value','password');
    document.getElementById("v2").appendChild(newInput);
    }
</script>

注意:这是我第一次使用javascript! 编辑代码,仍然无法正常工作。

4 个答案:

答案 0 :(得分:0)

Jquery更容易使用:

$(selector).append("<input type="password" name="password" value="password">");

答案 1 :(得分:0)

您创建了一个新的<input>元素,但您从未将其放入文档中。

如果要查看该元素,则需要通过在现有元素上调用appendChild()将其添加到DOM树中的某个位置。

答案 2 :(得分:0)

更好的方法是让一个名为“hidden”的类隐藏具有该类的元素。因此,如果我们点击员工电台,我们会将管理字段的div分配给隐藏的类,从而隐藏它并从员工字段中删除隐藏的类。

Admin<input type="radio" name="radiobutton" id="v2" value="v2" onclick="changefields(1)">

Employee<input type="radio" name="radiobutton" id="v2" value="v2" onclick="changefields(2)">

<div id='employees' class='hidden'>
<!-- input for employees -->
</div>

<div id='admins' class='hidden'>
<!-- input for admins -->
</div>
<script>
function changefields(type){
if(type==2){
$("#employees").removeClass("hidden");$("#admins").addClass("hidden");
}
else{
$("#admins").removeClass("hidden");$("#employees").addClass("hidden");
}
}
</script>

<style>.hidden{display:none}</style>

答案 3 :(得分:0)

您需要创建一个新元素。

var newInput=document.createElement("input");

并通过appendChild()将相同的元素附加到DOM。