asp.net - El complemento jQuery Validation versión 1.11.1 no funciona en Explorer 8
internet-explorer-8 jquery-validate (2)
Estoy usando jQuery Validation Plugin - v1.11.1 y jquery 1.10.2 pero el código de abajo no funciona en IE 8. Funciona bien en IE9 y superior y también en otros navegadores como Chrome.
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script src="Scripts/jquery_validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(''#btn'').click(function() {
$("#form1").validate({
rules: {
<%= txt.UniqueID %>: "required"
},
messages: {
<%= txt.UniqueID %>: "Please enter QTY"
}
});
});
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
ID
<asp:TextBox runat="server" ID="txt" ClientIDMode="Static" />
<asp:Button Text="Test" runat="server" ID="btn" ClientIDMode="Static" />
</asp:Content>
EDITADO:
La razón por la que envolví el evento validate () dentro de $ (''# brn''). Click (function () {}) es que tengo otro postBack del evento GridView RowCommand. Hay otra manera de llamar a jquery validate () solo cuando el se hace clic en el botón?
Su código incorrectamente envuelve .validate()
dentro de un manejador de click
...
$(''#btn'').click(function() {
$("#form1").validate({
...
});
});
Esto es incorrecto porque .validate()
es solo el método de inicialización del complemento, por lo que no hay motivo para incluirlo en un controlador de click
. El click
del click
de enviar ya está capturado y manejado automáticamente por el complemento.
Esta es la forma correcta de usar el método .validate()
...
$(document).ready(function() {
$("#form1").validate({ // initialize the plugin
// rules & options
});
});
DEMO de trabajo utilizando jQuery 1.10.2 y jQuery Validate 1.11.1, probado con IE 8 1 : http://jsfiddle.net/jsDzU/show
1 Probado con una versión real de IE 8 instalada en Windows XP SP3. Nunca suponga que el "Modo IE 8" en otra versión de IE es una representación precisa de lo real o un "emulador", no lo es. Microsoft proporciona imágenes de disco duro de VPC gratuitas para realizar pruebas precisas en cada versión de IE .