Figured I'd update this with a 2016 post. I used a combo of both Sangram's solution, as well as dsuess'. This is working for me as of the time of this post.
Sangram's solution unfortunately no longer worked for me with a later Chrome version, but using dsuess' method of marking the fields as readonly, while not visually appealing (since they stay readonly until you actually focus on the element, which isn't the most intuitive way to do it - but whatever works, right?), did still work.
By combining the two, we no longer require the user to focus on the field. Here is my web page code:
<asp:TextBox ID="TeamName" runat="server" TextMode="SingleLine" AutoCompleteType="Disabled" ReadOnly="true"></asp:TextBox>
Which, for the curious, after being parsed by IIS, renders to the following raw HTML:
<input name="ctl00$MainContent$uc_CreateTeam$TeamName" type="text" autocomplete="off" id="MainContent_uc_CreateTeam_TeamName" readonly="readonly">
The accompanying js:
// Disable autocomplete for form fields. This is done by setting the 'autocomplete' attribute (which is deprecated)
// as an indicator that we want this field to not be autofilled. We also set these forms to load as readonly (which
// will cause browsers to ignore them), and now we mark them writable.
$(document).ready(function() {
$('form[autocomplete="off"] input, input[autocomplete="off"]').each(function() {
var input = this;
setTimeout(function() {
$(input).removeAttr('readonly');
}, 200); // 100 does not work - too fast.
});
});
Hopefully this helps any stragglers still looking for the solution a few years later!