2

誰でもこれを手伝ってもらえますか....フォームに2つの入力フィールドがあります。そのうちの 1 つが非表示になっており、ボタンを使用して表示したいと考えています。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>

助けてください

4

5 に答える 5

5

これはあなたの<input>宣言によるものです:

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

JavaScriptを呼び出すと、最初show()にシンボルを解決しようとします。インラインコードからshow呼び出しているため、解決はで行われ、入力ボックスのまたは属性に基づいてシンボルを解決しようとします。show()documentnameid

ソリューション

ボタンの名前を変更します。

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

関数の名前を変更します。

function showPasswordInputBox()
{
  // your code here
}

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

インラインコードを使用しないでください:

function show()
{
  // whatever
}

var showButton = document.getElementsByName('show')[0];

showButton.addEventListener('click', show, false);

も参照してください

イベントハンドラーにフィールドと同じ名前を付けないでください。

Javascript関数とフォーム名の競合

于 2013-02-04T06:58:43.613 に答える
0

javascript の show() 関数の命名規則に問題があります。名前を show1() に変更するだけです。それはうまくいく

function show1()
{
 alert("ok");
}
<input type="button"  name="show" value="show" onclick="show1()" />
于 2013-02-04T07:05:04.327 に答える
0

jqueryを使用して次のコードを記述$("#passwd").show() できます。またはaddClass('here_css_class')、css コードを使用することもできます。.here_css_class{ display: block }

于 2013-02-04T07:26:24.097 に答える
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>
于 2013-02-04T07:51:39.773 に答える
-2

これを使用する必要があります:

onClick="javascript:show();"

または単に

onClick="show();"

基本的に、セミコロンを追加するだけです:)

于 2013-02-04T06:53:08.783 に答える