ASP.Net السيناريو الضوابط تعود كاذبة من OnClick و فايرفوكس
-
19-08-2019 - |
سؤال
الشرح باختصار:
لدي سكربت التحكم الذي يحتوي على انقر فوق الحدث يجري التعامل معها في ملف البرنامج النصي.انقر فوق معالج ينبثق تأكيد موجه وإرجاع فورية قيمة.
المشكلة:
أي يرى return False (إلغاء تحديد على تأكيد مربع) وليس هناك إعادة النشر.فايرفوكس يتجاهل هذا حرائق إعادة النشر.
حل؟:
قرأت أنه إذا كنت تفعل ذلك بالطريقة القديمة, سوف تحتاج إلى:
onClick="return SomeMethod();"
في العلامات.هناك أمل هو طريقة للقيام بذلك مع البرنامج النصي الضوابط ؟
على سبيل المثال:
هذا ما لدي في ملف البرنامج النصي:
//THIS IS THE METHOD CLICK CALLS
handleLnkDeleteButtonClick: function(e)
{
var confirmed = confirm('This will delete the current Message category and move all messages to the Oprhan cataegory. Continue?');
return confirmed;
},
initialize: function()
{
this._lnkDeleteButton = $get(this._lnkDeleteButtonID);
this._lnkDeleteButton.idpicker = this;
//HOOK BEGINS HERE
this._lnkDeleteButtonClick = Function.createDelegate(this, this.handleLnkDeleteButtonClick);
$addHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
//END HOOK HERE
NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'initialize');
},
dispose: function()
{
$removeHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'dispose');
}
المحلول
طيب حتى حلها نفسي بعد عن الطريقة الكثير من الوقت في محاولة العبارة الأشياء بشكل صحيح في google.تبين أن هناك طريقة للاتصال حتى أن كنت لا داعي للقلق حول إرجاع true أو false.
handleLnkDeleteButtonClick: function(e)
{
var confirmed = confirm('This will delete the currery Message category and move all messages to the Oprhan cataegory. Allow?');
if (!confirmed)
{
e.preventDefault();
}
},
وذلك بدلا من إعادة تأكيد, أنا فقط التحقق من ذلك قيمة استدعاء هـ.preventDefault طريقة لوقف انقر فوق من النار.