使用javascript显示表单元素

时间:2013-02-04 06:49:59

标签: javascript onclick

任何人都可以通过这个帮助我.... 我的表单中有两个输入字段。其中一个是隐藏的,我想用按钮显示它。现在当我试图使用onClick()函数显示它没有响应...

任何人都可以给我代码片段....

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function show()
{
document.getElementById('passwd').style.display="block" ;
}
</script>
</head>
<body>
<form action="demo.html" >
<input type="text" name="user" />
<br />
<input type="text" id="passwd" name="password"  style="display:none;" />
<input type="button" onClick="show()" name="show" value="show" />
<br />
<input type="submit" value="OK" />
</form>
</body>
</html>

plz help

5 个答案:

答案 0 :(得分:5)

这是因为你的<input>声明:

<input type="button" onClick="show()" name="show" value="show" />

当您致电show()时,JavaScript会先尝试解析符号show;因为您是通过内联代码调用show()分辨率发生在document ,它会尝试根据name或{{1}解析符号输入框的属性。

<强>解决方案

重命名按钮:

id

重命名功能:

<input type="button" onClick="show()" name="showbutton" value="show" />

不要使用内联代码:

function showPasswordInputBox()
{
  // your code here
}

<input type="button" onClick="showPasswordInputBox()" name="show" value="show" />

另见

Don't give event handler the same name as a field!

Javascript Function and Form Name conflict

答案 1 :(得分:0)

在javascript中命名show()函数的约定存在问题。因为只需将名称更改为show1()。它会工作

function show1()
{
 alert("ok");
}
<input type="button"  name="show" value="show" onclick="show1()" />

答案 2 :(得分:0)

您可以使用 jquery 并编写以下代码:$("#passwd").show() 或者您可以使用addClass('here_css_class')和css代码.here_css_class{ display: block }

答案 3 :(得分:0)

try this 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function show()
{
document.getElementById('passwd').style.display="block" ;
}
</script>
</head>
<body>
<form action="demo.html" >
<input type="text" name="user" />
<br />
<input type="text" id="passwd" name="password"  style="display:none;" />
**<button onClick="show()" >Show</button>**
<br />
<input type="submit" value="OK" />
</form>
</body>
</html>

答案 4 :(得分:-2)

你需要使用它:

onClick="javascript:show();"

或只是

onClick="show();"

基本上,只需添加分号:)