معرفة ما اذا كان ValidationSummary غير صالح باستخدام OnClientClick
-
03-07-2019 - |
سؤال
هل هناك طريقة لمعرفة ما اذا كان تحكم ValidationSummary قد حددت الملكية IsValid لصحيح باستخدام جافا سكريبت في حال OnClientClick زر واحدة؟
ما أحاول القيام به هو أن تظهر رسالة تقول "يرجى الانتظار بينما الملف يتم تحميل" على صفحة التحميل، ولكن إذا كنت تستخدم جافا سكريبت لإظهار هذه الرسالة، فإنه يظهر حتى عندما ValidationSummary تحتوي على أخطاء ، لذلك تظهر رسالة على طول مع الأخطاء تحتها، الذي يخلط بين المستخدمين.
المحلول 2
في حالة والبعض الآخر بحاجة شيء من هذا القبيل، وهنا هو بلدي الحل:
في الحدث OnClientClick الزر، أنا استدعاء وظيفة جافا سكريبت دعا showContent (). في هذه الوظيفة، وأنا استخدم setTimeout استدعاء دالة الثانية التي يتحقق الملكية IsValid للصفحة:
function showContent()
{
setTimeout("delayedShow()", 1);
}
function delayedShow()
{
if (Page_IsValid != null && Page_IsValid == true)
{
document.getElementById('divUploading').style.display = "block";
}
}
ووPage_IsValid
يعود صحيحا في حال OnClientClick
لأن التحقق من صحة جافا سكريبت يعمل بعد ذلك، وبالتالي فإن التأخر للمرة الثانية 1 يسمح للممتلكات IsValid التي سيتم تحديدها بشكل صحيح.
نصائح أخرى
وأعتقد أن هذا سوف تفعل ما تريد.
var isValid = false;
if (typeof(Page_ClientValidate) == 'function')
{
isValid = Page_ClientValidate();
}
if(isValid)
{
ShowMessage(...);
}
إذا كان لديك عدة مجموعات التحقق من الصحة على صفحة واحدة ثم يجب أن تحقق مجموعة معينة فقط:
var isValid = Page_ClientValidate('GroupName');
وأعتقد أن ما يجب عليك فعله هو dissable لل uppload زر و إظهار رسالة في حين تحميل قيد التقدم. على سبيل المثال باستخدام لوحة اياكس وقالب التقدم.