0

私の問題は、登録フォームにエラーメッセージがあり、ユーザーがタブを変更して再度登録しようとすると、エラーメッセージがまだ残っているため、タブを変更したときにエラーメッセージを削除できるようにするために何をすべきかということです。登録リンクをもう一度クリックしますか?

<script src="http://code.jquery.com/jquery-1.8.1.js"></script>
    <script>
        $(function() {           
            var tabContainers = $('section.tabs > article');
            tabContainers.hide().filter('#login').show();

            $('.ultabs a').click(function () {
                tabContainers.hide();
                tabContainers.filter(this.hash).show();
                $('.ultabs a').removeClass('selected');
                $(this).addClass('selected');
                return false;
            });
        });
        function check_email() {
            var email=$("#textEmail").val();
            $.ajax(
            {
                type:"POST",
                url:"register.php",
                data: { 
                'email': email
                },
                success:function(msg) {
                    $("#checkEmail").html(msg);
                }
            });
            return false;
        }
        function check_password() {
            var pass=$("#textPassword").val();
            $.ajax(
            {
                type:"POST",
                url:"register.php",
                data: { 
                'pass': pass
                },
                success:function(msg) {
                    $("#checkPassword").html(msg);
                }
            });
            return false;
        }
    </script>

<nav id="siteNav">
    <h1>Navigation</h1>
    <ul class="ultabs">
        <li><a href="#login">Login</a></li>
        <li><a href="#register">Register</a></li>
    </ul>
</nav>
<section id="siteContent" class="tabs">
    <h1>Section</h1>
    <article id="login">
        <h1>Login</h1>
        <table>
            <tr>
                <td class="message" colspan="2"></td>
            </tr>
            <tr>
                <td>E-mail:</td><td><input type="email"></td>
            </tr>
            <tr>
                <td class="message" colspan="2"></td>
            </tr>
            <tr>
                <td>Password:</td><td><input type="password"></td>
            </tr>
            <tr>
                <td colspan="2"><input type="button"></td>
            </tr>
        </table>
    </article>
    <article id="register">
        <h1>Register</h1>
        <table>
            <tr>
                <td class="message" colspan="2"></td>
            </tr>   
            <tr>
                <td>Name:</td><td><input type="text"></td>
            </tr>
            <tr>
                <td id="checkEmail" class="message" colspan="2"></td>
            </tr>
            <tr>
                <td>E-mail:</td><td><input id="textEmail" type="email" onblur="return check_email()"></td>
            </tr>
            <tr>
                <td id="checkPassword" class="message" colspan="2"></td>
            </tr>
            <tr>
                <td>Password:</td><td><input id="textPassword" type="password" onblur="return check_password()"></td>
            </tr>
            <tr>
                <td class="message" colspan="2"></td>
            </tr>
            <tr>
                <td>Re-type:</td><td><input type="password"></td>
            </tr>
            <tr>
                <td colspan="2"><input type="button"></td>
            </tr>
        </table>
    </article>
</section>
4

2 に答える 2

1

Bassistance が提供するような検証プラグインを使用することをお勧めします - http://bassistance.de/jquery-plugins/jquery-plugin-validation/。検証の核心に入ることなく、エラーメッセージを処理します....

于 2012-09-07T13:06:54.763 に答える
0

tdタブの変更時にクリアできます

$('.ultabs a').click(function () {
   $('.message').html('');
   // the rest of your code
});
于 2012-09-07T13:07:48.090 に答える