quitar mostrar formularios form eliminar deshabilitar desactivar chrome bloquear autocompletar autocompletado asp.net html browser autofill

asp.net - formularios - no mostrar autocompletar html



¿Cómo se desactiva el autocompletar en entradas de texto del navegador de forma selectiva a través del código? (7)

Agregar un atributo autocomplete=off al elemento de input html debería hacer eso.

¿Es posible desactivar de manera selectiva la función de autocompletar en los campos de texto mediante el código?

Estoy desarrollando mi código personalizado en ASP.Net AJAX para buscar la sugerencia en la base de datos y me gustaría evitar que las sugerencias del navegador aparezcan cuando el usuario comienza a escribir en el cuadro de texto.

Estoy buscando una solución que funcione en los navegadores más modernos (IE 7 y 8, Firefox, Safari y Chrome). Está bien si la solución está en Javascript.


Agregue AutoCompleteType="Disabled" a su cuadro de texto


Esto debería funcionar en todos los navegadores

<script type="text/javascript"> var c = document.getElementById("<%=TextBox1.ClientID %>"); c.select = function (event, ui) { this.value = ""; return false; } </script>


Hay 2 soluciones para este problema. He probado el siguiente código en Google Chrome v36. La versión más reciente de Google Chrome fuerza la función Autocompletar, independientemente de Autocomplete=off Algunos de los ataques anteriores ya no funcionan (más de 34 versiones)

Solución 1:

Coloque el siguiente código debajo de la etiqueta <form ..> .

<form id="form1" runat="server" > <input style="display:none" type="text" name="fakeusernameremembered"/> <input style="display:none" type="password" name="fakepasswordremembered"/> ...

Lee mas

Solución 2:

$(''form[autocomplete="off"] input, input[autocomplete="off"]'').each(function () { var input = this; var name = $(input).attr(''name''); var id = $(input).attr(''id''); $(input).removeAttr(''name''); $(input).removeAttr(''id''); setTimeout(function () { $(input).attr(''name'', name); $(input).attr(''id'', id); }, 1); });

Elimina los atributos de "nombre" e "id" de los elementos y los vuelve a asignar después de 1 ms.


Mi solución consiste en convertir el campo de contraseña en un cuadro de texto normal, y luego usar jquery para convertirlo en campo de contraseña en el foco:

asp:TextBox runat="server" ID="txtUsername" /> <asp:TextBox runat="server" ID="txtPassword" /> <script> $("#txtPassword").focus(function () { $("#txtPassword").prop(''type'', ''password''); }); </script>


Mire el atributo HTML de autocompletar (en las etiquetas de formulario o de entrada).

<form [...] autocomplete="off"> [...] </form>

W3C> atributo Autocompletar

Editar:

Hoy en día, a partir de los comentarios, los navegadores web no siempre respetan el comportamiento definido de la etiqueta autocompletar. Esta falta de respeto podría estar rodeada de un poco de código JavaScript, pero debes pensar en lo que quieres hacer antes de usar esto.

Primero, los campos se llenarán durante la carga de la página y solo se vaciarán una vez que se cargue la página. Los usuarios se preguntarán por qué el campo se ha vaciado.

En segundo lugar, esto restablecerá otros mecanismos del navegador web, como el relleno automático de un campo cuando vuelva a la página anterior.

jQuery( function() { $("input[autocomplete=off]").val( "" ); } );

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form method="post" action=""> <div class="form-group"> <label for="username">Username</label> <input type="text" id="username" name="username" value="John" autocomplete="off"> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" id="password" name="password" value="qwerty" autocomplete="off"> </div> <input type="submit" value="Login"> </form>


puedes ponerlo en tus entradas:

<input type="text" name="off" autocomplete="off">

o en jquery

$(":input").attr("autocomplete","off");