Bozulmamış durumuna formu (AngularJS 1.0.Sıfırla x)
Tertemiz durumu (reset kirli devlet) için form alanları sıfırlamak için bir işlevi AngularJS 1.1 için yol haritası.x. Ne yazık ki böyle bir işlev mevcut kararlı sürümü eksik.
Ne AngularJS için ilk bozulmamış durumuna 1.0 için tüm form alanlarını sıfırlamak için en iyi yoldur.x.?
Eğer bu bir Direktif veya diğer basit çözüm ile tamir edilebilir olup olmadığını bilmek istiyorum. Orijinal AngularJS kaynakları dokunmak zorunda kalmadan bir çözümü tercih ederim. Ve sorunu açıklığa kavuşturmak göstermek için JSFiddle linki var. http://jsfiddle.net/juurlink/FWGxG/7/
İstenen özellikYol haritası- http://blog.angularjs.org/2012/07/angularjs-10-12-roadmap.html< / ^ br . Özellik isteği- https://github.com/angular/angular.js/issues/856< / ^ br . Önerilen çözümİstek çekin- https://github.com/angular/angular.js/pull/1127< / ^ br . < / ^ br .
Olası bir geçici çözüm vardır
Yeterince iyi çözüm?
Ben sadece HTML kısmı yeniden derleyin ve arka DOM içine koyabilirim anladım. Çalışır ve @yorumlarda bahsedilen blesh gibi geçici bir çözüm için, ama aynı zamanda önemli değil
Kontrol, DOM için değil, iş mantığı için kullanılmamalıdır!
<div id="myform">
<form class="form-horizontal" name="form">
</form>
</div>
Ve resetForm()
benim Denetleyicisi:
- Orijinal el değmemiş HTML kaydedin
- Kaydedilmiş orijinal HTML yeniden derleyin
- DOM itibaren geçerli form çıkarın
- Ekle DOM içine yeni derlenmiş şablonu
JavaScript:
var pristineFormTemplate = $('#myform').html();
$scope.resetForm = function () {
$('#myform').empty().append($compile(pristineFormTemplate)($scope));
}
CEVAP
Açısal sonraki sürümleri (örneğin 1.1.5), $setPristine formda diyebilirsin, bu kayda değer olduğunu düşünüyorum.
$scope.formName.$setPristine(true)
Bu bozulmamış durumuna tüm form denetimlerini çok daha iyi olacaktır.
Devre dışı formu ile geçersiz AngularJ...
angularjs: ng-src background-image:url...
Ng-model bağlama içinde ng-repeat döng...
AngularJS : ng-bind daha iyi olduğunu ...
PHP mail formu't tamamlamak değil...