簡體   English   中英

用於自動登錄的jQuery .submit適用於FF,Chrome ...而不是IE

[英]jQuery .submit for autologin works in FF,Chrome… not IE

我有一個內部建議框應用程序,所有用戶可以使用相同的用戶名和密碼..

所以我正在使用jquery表單提交進行自動登錄..在FF和Chrome中效果很好,但在IE中..它填充了用戶/密碼表單字段中的值..進行了提交..然后再次執行一遍又一遍..(該應用程序是WordPress的bbPress)..非常感謝

登錄表單:

<input name="user_login" type="text" id="quick_user_login" size="13" maxlength="40" value="USER_NAME_HERE" />

<?php _e( 'Password' ); ?><br />
<input name="password" type="password" id="quick_password" size="13" maxlength="40" tabindex="2" value="PASSWORD_HERE" />

<input name="re" type="hidden" value="<?php echo $re; ?>" />

jQuery的:

<script>
$(document).ready(function(){ 
    jQuery("#loginform").submit();
});
</script>

整個登錄表單(股票bbPress代碼):

<form class="login" method="post" id="loginform" action="<?php bb_uri( 'bb-login.php', null, BB_URI_CONTEXT_FORM_ACTION + BB_URI_CONTEXT_BB_USER_FORMS ); ?>">
    <p>
        <?php
    printf(
        __( '<a href="%1$s">Register</a> or log in - <a href="%2$s">lost password?</a>' ),
        bb_get_uri( 'register.php', null, BB_URI_CONTEXT_A_HREF + BB_URI_CONTEXT_BB_USER_FORMS ),
        bb_get_uri( 'bb-login.php', null, BB_URI_CONTEXT_FORM_ACTION + BB_URI_CONTEXT_BB_USER_FORMS )
    );
    ?>

    </p>
    <div>
        <label>
            <?php _e('Username'); ?><br />
            <input name="user_login" type="text" id="quick_user_login" size="13" maxlength="40" value="USER_NAME_HERE" />
        </label>
        <label>
            <?php _e( 'Password' ); ?><br />
            <input name="password" type="password" id="quick_password" size="13" maxlength="40" tabindex="2" value="PASSWORD_HERE" />
        </label>
        <input name="re" type="hidden" value="<?php echo $re; ?>" />
        <?php wp_referer_field(); ?>

        <input type="submit" name="Submit" class="submit" value="<?php echo esc_attr__( 'Log in &raquo;' ); ?>" tabindex="4" />
    </div>
    <div class="remember">
        <label>
            <input name="remember" type="checkbox" id="quick_remember" value="1" tabindex="3"<?php echo $remember_checked; ?> />
            <?php _e('Remember me'); ?>

        </label>
    </div>
</form>

嘗試這個:

jQuery("#loginform").trigger("submit");

只是一個猜測。

這可能不是理想的解決方案,但它是一個可行的解決方案(至少到目前為止)。 創建一個提交按鈕(如果已有的話,可以跳過該按鈕)。 附加它,單擊它,然后將其刪除。 應該可以在IE(和所有其他瀏覽器)中使用。

$('input').attr('type', 'submit').css('display', 'none')
          .appendTo('#loginForm').click().remove();

因此,這是一個具有預填充值的頁面,將在頁面加載后自動發布。

我的一個大問題:為什么要為此使用JQuery? 可以使用普通的舊javascript很好地完成此功能,而且速度更快(不必加載JQuery即可工作)且更可靠(這是一種非常古老的技術,因此可以在您可以使用的任何瀏覽器中使用拋出它,當然,只要啟用了javascript!)

<form name='loginform'>
  .......
</form>
<script>
  document.forms['loginform'].submit();
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM