ページの読み込み時に css によって非表示になるインライン フォームが Web ページにあります。フォームを表示するボタンもあります。ただし、同じボタンをもう一度クリックするとフォームが非表示になるようにします。しかし、インラインフォームボタンをクリックすると、機能を割り当てていなくてもフォームが消えてしまいます。
ここに私のHTMLがあります
<button id="signup" onclick="showForm('inline')">SignUp!</button>
<!-- hidden inline form -->
<div id="inline">
<h2>Register! It's free!</h2>
<form id="register" action="#" method="post" name="register">
<label for="email">Email:</label>
<input id="email" class="txt" type="email" name="email" />
<label for="password">Password:</label>
<input id="password" class="passtxt" type="password" name="password" />
<label for="password">Repeat Password:</label>
<input id="password" class="passtxt" type="password" name="password" />
<button id="registerbtn">Register</button>
</form>
</div>
ここに私のJSがあります:
function showForm(form) {
var e = document.getElementById(form);
if (e.style.display = 'none')
e.style.display = 'inline';
else
e.style.display = 'none';
}
サインアップボタンをクリックすると、フォームが表示されます。しかし、もう一度クリックしても何も起こりません。しかし、フォームの登録ボタンをクリックすると消えてしまいます。なんで?どうすれば修正できますか?
編集:私が探していたものだったので、DaveHogan'sを最良の答えとして選びました。しかし、代わりに JQuery を使用するように切り替えました。あなたも切り替えるべし。