ここまでは、表示されるコンテンツとして個々のフォーム ( ) を使用して、単一の html ページから始めました<form> </form>
。そのため、送信ボタンをクリックすると、現在のフォームがフェードアウトしてから、新しいフォームがフェードインします。これは、ダウンロードした JavaScript デモを使用して行います。
しかし問題は、私たちの課題ではフォームの検証を使用する必要があるということです。そのため、電子メールとパスワードのフィールドが空白の場合、アラートが表示されます。送信ボタンをクリックすると警告ウィンドウが表示されますが、現在のログインフォームにとどまる必要があるときにフォームの変更が引き続き発生するという問題がありますか?
ログインフォームはこちら
<form class="login active" id="logform">
<h3>Login</h3>
<div>
<label>Email:</label>
<input id="email3" type="text" />
<span class="error">This is an error</span>
</div>
<div>
<label>
Password: <a rel="forgot_password" class="forgot linkform">Forgot your password?</a>
</label>
<input type="password" id="pass1" />
<span class="error">This is an error</span>
</div>
<div class="bottom">
<div class="remember"><input type="checkbox" /><span>Keep me logged in</span></div>
<input id="logme" type="submit" onClick="ValidateLog();" rel="emailhome" class="linkform" value="Login"></input>`
<a rel="register" class="linkform">You don't have an account yet? Register here</a>
<div class="clear"></div>
</div>
</form>
これは私が切り替えようとしているフォームです
<form id="homeform" class="emailhome">
<h3>Welcome to CM Email</h3>
<div>
</div>
</form>
*検証が正しくない場合にフォームが変更されないようにする方法を見つける必要がありますか? remove attribute class を使用して関数がリンク フォームを検出しないようにしましたが、それでも役に立ちません!? *
function ValidateLog(){
//EMAIL VALIDATION
var emailblank = document.forms["logform"]["email3"].value;
if (emailblank==null || emailblank=="")
{
alert("Error: Please enter your email.");
return false;
}
//PASS VALIDATION
var passlog = document.forms["logform"]["pass1"].value;
if (passlog==null || passlog=="")
{
alert("Error: Please enter your password.");
return false;
}
}