2010-01-18 14 views
5

Actualización:DROPDOWNLIST no devolución de datos después de Page_ClientValidate()

solo he encontrado la solución. Los siguientes trabajos de función (quitar la parte else):

function confirmSubmit() { 
    if (Page_ClientValidate("Group1")) { 
     return window.confirm("Are you sure to submit the form?"); 
    } 
} 

Pero me pregunto por qué no funciona cuando agrego la parte else.

Pregunta:

Quiero tener un diálogo de confirmación después de usuario rellena todos los datos en el formulario. Configuro onclientclick = "return confirmSubmit()" en el botón de enviar.

function confirmSubmit() { 

    if (Page_ClientValidate("Group1")) { 
     return window.confirm("Are you sure to submit the form?"); 
    } else { 

     return false; 
    } 
} 

Si Page_ClientValidate ("Grupo 1") devuelve false, la lista desplegable no causa devolución de datos después de que primero seleccionar el elemento, y la devolución de datos sólo se produce cuando selecciono la segunda vez lista desplegable.

¿Cuál es el problema?

+1

Sus reglas de validación dicen que la página no es válida y hace que la devolución de datos se detenga ... que es lo que se supone que deben hacer. ¿Puedes publicar el marcado para tus validadores? Uno de ellos en el Grupo1 dice que no está en un estado válido. –

+0

He encontrado la solución. – Billy

Respuesta

0

Acabo de encontrar la solución. Los siguientes trabajos de función (quitar la parte else):

function confirmSubmit() { 
    if (Page_ClientValidate("Group1")) { 
     return window.confirm("Are you sure to submit the form?"); 
    } 
} 
11

Después Page_ClientValidate se llama, el Page_BlockSubmit variable obtiene el valor true, que bloquea la autopost espalda. Page_BlockSubmit se restableció a falso en el segundo clic, por qué razones todavía no entiendo completamente. Estoy buscando más en esto, pero tengo una solución y estoy bajo control, así que estoy rodando con ella ...

Solo agregue el código debajo en el bloque de código que se ejecuta si Page no es válido .

Page_BlockSubmit = false; 

e.g.

function ValidatePage() 
{ 
    flag = true; 
    if (typeof (Page_ClientValidate) == 'function') 
    { 
     Page_ClientValidate(); 
    } 

    if (!Page_IsValid) 
    { 
     alert('All the * marked fields are mandatory.'); 
     flag = false; 
     Page_BlockSubmit = false; 
    } 
    else 
    { 
     flag = confirm('Are you sure you have filled the form completely? Click OK to confirm or CANCEL to edit this form.');  
    } 
    return flag;  
} 
Cuestiones relacionadas