Создайте обработчики ajax для формы внутри переключаемой панели jquery - в случае ошибок панель должна оставаться видимой - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть выпадающая панель в меню, которая является div, переключаемым с помощью jquery - поэтому она не отображается по умолчанию и при обновлении страницы возвращается к отображению: нет

В этом div у меня есть форма, которая выполняет функции входа в систему. Если в форме есть ошибка (неверный пароль, неверное имя пользователя, пустые поля), форма возвращает ошибки соответственно с сообщениями, отображаемыми рядом с полями, содержащими ошибки.

Однако, поскольку форма содержится в переключенном элементе div, когда страница обновляется после отправки, весь элемент div естественно исчезает. Если логин проходит, это не проблема, потому что происходит перенаправление. Но если при входе в систему есть ошибки, ошибки видны только в том случае, если пользователь снова щелкает панель, делая ее снова видимой.

Как сохранить переключение панели div в случае ошибок формы?

содержимое панели выглядит так:

<ul id="signin-menu" class="sub-menu" style="display: none">
    <div class="login" id="login-form-<?php $template->the_instance(); ?>">
        <?php $template->the_errors(); ?>
        <form name="loginform" id="loginform<?php $template->the_instance(); ?>" action="<?php $template->the_action_url( 'login' ); ?>" method="post">
                <p class="login-username">
                    <label for="user_login<?php $template->the_instance(); ?>"><?php _e( 'Nome utente', 'salgari' ) ?></label>
                    <input type="text" name="log" id="user_login<?php $template->the_instance(); ?>" class="input" value="<?php $template->the_posted_value( 'log' ); ?>" />
                </p>
                <p class="login-password">
                    <label for="user_pass<?php $template->the_instance(); ?>"><?php _e( 'Password', 'salgari' ) ?></label>
                    <input type="password" name="pwd" id="user_pass<?php $template->the_instance(); ?>" class="input" value="" />
                </p>
                <?php do_action( 'login_form' ); 
                      do_action_ref_array( 'tml_login_form', array( &$template ) ); ?>
                <p class="login-remember">
                    <input name="rememberme" type="checkbox" id="rememberme<?php $template->the_instance(); ?>" value="forever" />
                    <label for="rememberme<?php $template->the_instance(); ?>"><?php _e( 'Ricordati di me', 'salgari' ); ?></label>
                </p>
                <p class="login-submit">
                    <input type="submit" name="wp-submit" id="wp-submit<?php $template->the_instance(); ?>" value="<?php _e( 'Collegati', 'salgari' ); ?>" />
                    <input type="hidden" name="redirect_to" value="<?php $template->the_redirect_url( 'login' ); ?>" />
                    <input type="hidden" name="testcookie" value="1" />
                    <input type="hidden" name="instance" value="<?php $template->the_instance(); ?>" />
                </p>
        </form>
        <div class="login-actions">
            <?php $template->the_action_links( array( 'login' => false ) ); ?>
        <div>
    </div>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...