golo 24. 8. 2010 14:33:45 Body: 90 Najaktívnejší č.: 87 page isDirty Hladam nejake overene funckne riesenie pre ASP.NET/AJAX, potrebujem zistovat ci sa na stranke nieco zmenilo Javascript/jQuery a ak uzivatel nieco zmenil a neklikol na Save a che ist na inu stranku malo by ho to upozornit, nasiel som nejake riesenia, ale ak mam v stranke user controly a update panel/y tak to nefunguje. Nejake napady [Reakcia]
vlko 24. 8. 2010 15:30:28 Body: 34435 Najaktívnejší č.: 1 RE: page isDirty my celkom uspesne pouzivame tento kus kodu (pozor je mozne iba zobrazit otazku, zabranit opusteniu stranky sa neda)// premenna indikujuca, ci sa pri ukonceny opytat ci skutocne skoncit var pendingChanges = false; // sprava aky sa script opyta pri opusteni stranky var mssg = 'You have pending changes. Do you want to continue?' // zaregistrovanie eventu pre opustenie stranky window.onbeforeunload = onPageClosing; function onPageClosing(e) ...{ if (pendingChanges) ...{ var e = e || window.event; // For IE and Firefox if (e) ...{ e.returnValue = mssg; } // For Safari return mssg; } } // pre nastavenie kontroly opustenia stranky nastav pendingChanges na true function onValueChange(sender, args) ...{ pendingChanges = true; } // pre pripad, ze chces tuto otazku vypnut nastav pendingChanges na false function onSaveClick(sender, args) ...{ pendingChanges = false; } [Reakcia]
liero 27. 8. 2010 14:19:43 Body: 3100 Najaktívnejší č.: 11 RE: page isDirty preco ti to mozno nefunguje s updatepanelom: mozno mas v html nieco ako $('input').change(onValueChanged)..., cize odchytavas onchange event. ale ked sa ti updatne updatepalen, tie inputy, ktorym si priradil eventhandler onValueChanged uz neexistuju, namiesto nich su tam uz nove. Bud im priradis tieto eventhandlery znova (vid Scriptmanager.RegisterStartupScript), alebo pouzijes jQuery.live(); [Reakcia]