معرفة ما اذا كان ValidationSummary غير صالح باستخدام OnClientClick

StackOverflow https://stackoverflow.com/questions/414946

سؤال

هل هناك طريقة لمعرفة ما اذا كان تحكم 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 زر و إظهار رسالة في حين تحميل قيد التقدم. على سبيل المثال باستخدام لوحة اياكس وقالب التقدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top