Given a conditionally disabled text input field using ng-disabled=\"truthy_scope_variable\"
, AngularJS disables the field the first time the scope variable
That's because HTML attributes are always strings, so in your example ngDisabled is evaluating a string in both cases ("true" or "false").
To remedy, you should compare the model against the string value in ngDisabled:
ng-disabled="new_account == 'false'"
... or use a checkbox, to get the actual boolean value:
Password:
Here's a PLNKR with both solutions.