why doesn't chrome recognize this login form?
Solution 1
I believe it is because the form is not actually being "submitted". If you check the onsubmit attribute, you can see that it returns false at the end, which cancels the submission.
Solution 2
You have to submit form twice:
- one with JS validation
- and after that plain POST form.
Comments
-
jzp74 almost 2 years
I'm using the following login form in my web app. It works fine in IE7, FF3.6 and Chrome7.0. Except for the fact that Chrome does not seem to recognize this form as a login form and therefore does not offer me to save the username/password. Both FF and IE do offer me to remember the username/password.
Here's the form:
<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 -->
EDIT: I use jquery (not consistently as you can see), qTip (to show any login errors) and Xajax (as ajax framework). The handleFunction is as follows:
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 }); }
Thanks for any advise!
By the way: I checked if my host is in the saved password exceptions list of Chrome. It is not.
-
jzp74 over 13 yearswhen I remove "return false", login does not succeed (just tested it to be sure)
-
Kranu over 13 yearsYes, it doesn't work when you remove return false. You will need to rewrite your code. Chrome does not offer to save passwords from forms that are not "submitted" as a security feature. If you want the Save Password feature to work, you're going to have to ditch the whole fancy AJAX login.
-
Roman Starkov almost 12 years@Kranu what's this security issue you mention? I don't think this is a security feature; it's just one more browser crapness we have to deal with.
-
Erik Aronesty over 10 yearsIt's not a security feature. It's a well acknowledged bug that someone who knows chromium code needs to fix. There is apparently a patch in beta that doesn't completely solve the issue.
-
mkurz about 10 years@ErikAronesty Which patch do you mean? Do you have reference? I just opened a bug report: code.google.com/p/chromium/issues/detail?id=339927
-
mkurz over 8 yearsChrome 46 fixed its wrong behaviour - no workarounds needed anymore. See stackoverflow.com/a/33113374/810109
-
mkurz over 8 yearsChrome 46 fixed its wrong behaviour - no workarounds needed anymore. See stackoverflow.com/a/33113374/810109