2009-01-05 73 views
3

有没有一种方法可以检查按钮的OnClientClick事件中ValidationSummary控件的IsValid属性是否设置为true?使用OnClientClick检查ValidationSummary是否有效

我想要做的是在上传页面上显示一条消息,指示“请稍候,而您的文件正在上传”,但如果我使用JavaScript显示该消息,即使ValidationSummary有错误,所以消息会显示在底下的错误,这会让用户感到困惑。

回答

2

如果其他人需要这样的事情,这是我的解决方案:

按钮的事件的OnClientClick,我打电话叫showContent的JavaScript函数()。在此功能,我使用的setTimeout来调用检查页的IsValid属性的第二个功能:

function showContent() 
{ 
    setTimeout("delayedShow()", 1); 
} 

function delayedShow() 
{ 
    if (Page_IsValid != null && Page_IsValid == true) 
    { 
     document.getElementById('divUploading').style.display = "block"; 
    } 
} 

Page_IsValid返回true在OnClientClick事件,因为JavaScript验证在此之后运行,所以1秒的延迟允许的IsValid财产要妥善设置。

0

我想你应该做的是dissable the uppload button并在上传过程中显示一条消息。例如通过使用ajax面板和进度模板。

+0

问题是不是在上载过程,但是当在ValidationSummary控制,使用户有改正错误。我需要知道有一个错误,并没有显示“等待”div – 2009-01-06 00:09:30

2

我认为这会做你想做的。

var isValid = false; 
if (typeof(Page_ClientValidate) == 'function') 
{ 
    isValid = Page_ClientValidate(); 
} 

if(isValid) 
{ 
    ShowMessage(...); 
} 
+0

我认为这不适用于验证组正在使用。 – Sam 2013-05-29 05:12:24

+0

此外,它重新验证。我认为接受答案中的方法更好,因为它不应该有这些问题之一。 – Sam 2013-05-29 05:27:07

2

如果您有单页上多个验证组,那么你应该检查只有某些组:

var isValid = Page_ClientValidate('GroupName');