Programlamaya Giriş
Facebookta Ki Gibi Değişiklik Yapıp Başka URL Ye Tıklayınca :Uyarı Nasıl Veririlir ?
Facebookta Ki Gibi Değişiklik Yapıp Başka URL Ye Tıklayınca :Uyarı Nasıl Veririlir ?
-
Merhaba,
Facebookta bir şey yazdım diyelim paylaşmadan başka url ye tıklayınca emin misin diye soruyor.
Bunu mvc de nasıl yapacağım gerçi olay js de bitiyor.
Google ye nasıl soracağımı bilemedim :)
Normalde bir sürü yerde uyar verdirtiyorum zaten alan boş olamaz filan gibi de başka url ye tıklarsa bunu nasıl yaparız.
Mesela bu olay tbt de yok çat diye yanlış tıklasak gidiyor.
edit://
Kilit kelime şuymuş: Çalıştırırsam buraya da yazacağım.
How to Warn user before leaving web page with unsaved changes in MVC
-
basit mantıkla eklenen linklerin yapısını değiştiricek sistem işte blabla.com/redirect.aspx=facebook.com gibi
-
input' lara baktıracaksın, o linke tıkladığında onclick verip js' de. boşsa gönder linke yoksa alert verdir.
-
hocam ben sana direk uyarının nasıl geldiğini veriyim sen inputları filan kontrol eden kodları kendin eklersin
$(window).bind('beforeunload', function(){ return 'eminmisiniz_mesajı'; });
-
Angular Kullanıyorum Şöyle Yaptım:
myModule.directive('confirmOnExit', function () { return { link: function ($scope, elem, attrs) { $scope.$on('$locationChangeStart', function (event, next, current) { if (!$scope.isSaveBtn) { if (!angular.equals($scope.ModelCopy, $scope.Model)) { if (!confirm("You haven't save your form yet. Do you want to leave without finishing?")) { event.preventDefault(); } } } }); } }; });
Öncelikle sayfayı açtığım modeli modelCopy ye kopyaladım.
$scope.modelCopy = angular.copy($scope.Model);
Directive içinde eğer save butonuna tıklamamışsa (isSaveBtn) ve
Eğer yeni model ile kopyaladığım model birbirine eşit değilse uyarıyı bas.
Referans noktam:
http://stackoverflow.com/questions/14852802/detect-unsaved-changes-and-alert-user-using-angularjs
Edit//
Yaptığım şey bir edit ekranı yani yeni bir ekran değil bu yüzden gelen model ile değiştirilen modeli bilmem gerekiyordu.
Modelin doluluğu bana yetmiyordu yani zaten model dolu olarak açılıyor. Farklı mı değil mi kontrolü yapılması gerekti bana.
-
Bu sekilee oldu ama bana kendi yaptigim modal in click eventine basip basmadigini anlamam lazim eger bastiysa devam et demem lazim. Modala buton koyup ng-click ile fonksiyona baglayabiliyorum ama bunu if icine nasil yazacagim. Kisaca if benden butona basmami beklemesi lazim ama beklemiyor tabiki. Confirm den gelen default modal hos bi sey degil goruntu olarak. Onun icin kendi modalimin click eventine baglamam llazim bunu dusunecegim bir ara.