Jquery validación y actualización panel juntos
asp.net jquery-plugins (4)
Debes devolver el mensaje falso y detener el evento de borboteo en el envío, algo como esto:
$("form").submit(function (e) {
e.preventDefault();
return(false);
});
Sin embargo, no sé nada sobre ASP, por lo que no sé si eso ayudará en este caso particular.
Quizás necesite usar .live
o volver a conectar el controlador después de que se haya cargado el contenido de este panel, por lo que los eventos de publicación directa están vinculados a él.
Estoy intentando usar el complemento de validación de jquery, pero mi formulario está en el panel de actualización. Entonces, incluso después de aplicar la validación al enviar el formulario, lo valida y muestra el mensaje requerido por apenas 2 segundos y luego envía el formulario.
¿Cuál es la solución para esto?
Lo he intentado también
<asp:UpdatePanel ID="AddUserPanel" runat="server"
ChildrenAsTriggers="false"
UpdateMode="Conditional">
Pero esto tampoco parece ayudar.
Si usa un administrador de scripts, necesita el código l33t a continuación:
$(function () {
//Code that runs before update panel is fired.
//Listen for update panel
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
//Re-initialize jquery after an auto post back.
function EndRequestHandler(sender, args) {
//Do work after update panel fires.
}
});
Así que básicamente tienes código duplicado, código fuera de EndRequestHandler () y dentro de él.
Si recuerdo correctamente, puede usar un botón normal en lugar del botón asp: que no causará una devolución de datos. Si este es el caso, entonces puede usar JavaScript para actualizar el UpdatePanel.
Asp.net WebForms utiliza la función __doPostback()
que envía su formulario.
Esto es lo que haría:
Verifique la ejecución de envío de formulario para ver si las cosas funcionan de la manera esperada, de modo que la validación se produce primero (que estoy bastante seguro de que sucede porque usted recibe esos mensajes) y verifique el código de cada parte individual.
Si la validación no impide la ejecución de eventos por defecto (burbujeo) devolviendo
false
de invocarpreventDefault()
o ambos, entonces debe cambiarse para que funcione lo suficiente con Asp.net WebForms.Si todo parece estar bien en el frente de validación, debe cambiar su función
__doPostback()
. Sí suena hackish sí, pero a veces cosas como esto tienen que hacerse. Copie el código existente y agregue comprobaciones adicionales. Nada de que preocuparse.
También verifique esta pregunta .
Oh diablos. Solo haga una búsqueda en Google al respecto e incluya solo los resultados de : jQuery validation webforms site: .com