Html 为什么';你不认识这个登录表单吗?

Html 为什么';你不认识这个登录表单吗?,html,forms,google-chrome,login,Html,Forms,Google Chrome,Login,我正在我的web应用程序中使用以下登录表单。它在IE7、FF3.6和Chrome7.0中运行良好。除了Chrome似乎不将此表单识别为登录表单,因此不提供保存用户名/密码的功能。FF和IE都让我记住用户名/密码 以下是表格: <form name="login_form" id="login_form" action="" method="POST" onsubmit="javascript:handleFunction('action_login', document.getElemen

我正在我的web应用程序中使用以下登录表单。它在IE7、FF3.6和Chrome7.0中运行良好。除了Chrome似乎不将此表单识别为登录表单,因此不提供保存用户名/密码的功能。FF和IE都让我记住用户名/密码

以下是表格:

<form name="login_form" id="login_form" action="" method="POST" onsubmit="javascript:handleFunction('action_login', document.getElementById('user_name_id').value, document.getElementById('password_id').value); return false;"> 
    <div class="login_line">name<input name="user_name" id="user_name_id" size="16" maxlength="16" value= "" type="text"></div> 
    <div class="login_line">password<input name="password" id="password_id" size="16" maxlength="16" type="password"></div> 
    <div class="login_line"><input type=submit class="icon icon_accept" value="login"></div> 
</form> <!-- login_form --> 
谢谢你的建议


顺便说一下:我检查了我的主机是否在Chrome的保存密码例外列表中。事实并非如此。

我认为这是因为表单实际上没有“提交”。如果您检查onsubmit属性,您可以看到它在最后返回false,这将取消提交。

您必须提交两次表单:

  • 一个是JS验证
  • 在那张普通的邮寄表格之后

  • 当我删除“return false”时,登录不成功(只是测试以确保登录成功)。是的,当您删除return false时,登录不起作用。你需要重写你的代码。Chrome不提供保存未“提交”表单密码的安全功能。如果你想让“保存密码”功能发挥作用,你就必须放弃整个花哨的AJAX登录。@Kranu你提到的这个安全问题是什么?我不认为这是一个安全特性;这只是我们必须处理的又一个浏览器垃圾。这不是一个安全功能。这是一个众所周知的bug,了解chromium代码的人需要修复它。显然,beta版中有一个补丁不能完全解决这个问题。@ErikAronesty你指的是哪个补丁?你有推荐信吗?我刚刚打开了一个bug报告:Chrome46修复了它的错误行为——不再需要任何解决方法了。看见
    function handleFunction (functionName)
    {
        // remove any static qtip from screen
        if ( $('#qtip_close_button').length )
        {
            // click on close button of qtip
            $('#qtip_close_button').click();
        }
    
        // remove the first argument from the arguments list
        var argArray = $.makeArray(arguments).slice(1);
    
        xajax.request({ xjxfun : functionName }, { parameters : argArray });
    }