繁体   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