আমি যখন কোনও সময়কালে "সংরক্ষণ করুন" বা "জমা দিন" বোতামটি ক্লিক করে ফর্ম নিয়ন্ত্রণগুলি (বা কমপক্ষে তাদের ব্যবহারকারীর মিথস্ক্রিয়ের জন্য অনুপলব্ধ করে তুলতে চাই) তবে ফর্ম নিয়ন্ত্রণগুলি অক্ষম করতে চাইলে আমার সেরা (এবং সঠিক) পদ্ধতির কী হবে সে সম্পর্কে আমার দ্বিধা রয়েছে I এবং তারের উপর দিয়ে ভ্রমণ ভ্রমণ। আমি JQuery (যা খারাপ !!!) ব্যবহার করতে চাই না এবং অ্যারের হিসাবে সমস্ত উপাদানকে জিজ্ঞাসা করতে পারি (শ্রেণি বা গুণাবলী অনুসারে) আমার এ পর্যন্ত যে ধারণাগুলি ছিল তা হ'ল:
- সমস্ত উপাদানকে
cm-form-control
কাস্টম নির্দেশনা দিয়ে চিহ্নিত করুন যা 2 টি বিজ্ঞপ্তির জন্য সাবস্ক্রাইব করবে: "ডেটা-প্রেরিত" এবং "ডেটা-প্রক্রিয়াজাত"। তারপরে কাস্টম কোড দ্বিতীয় বিজ্ঞপ্তি ঠেকানোর জন্য বা কোনও প্রতিশ্রুতি সমাধানের জন্য দায়বদ্ধ। - এটি ব্যবহার করুন
promiseTracker
(দুর্ভাগ্যক্রমে!) অত্যন্ত বোকা কোড তৈরি করার মতো কার্যকর করেng-show="loadingTracker.active()"
। স্পষ্টতই সমস্ত উপাদানগুলির নেইng-disabled
এবং আমি ব্যবহারকারীকেng-hide/show
"নৃত্য" বোতামগুলি এড়াতে চাই না । - একটি বুলেট কামড়ান এবং এখনও JQuery ব্যবহার করুন
কারও কি আরও ভাল ধারণা আছে? আগাম ধন্যবাদ!
আপডেট করা: ফিল্ডসেট ধারণাটি কাজ করে। যারা এখনও একই কাজ করতে চান তাদের জন্য এখানে একটি সরল ফিডল http://jsfiddle.net/YoMan78/pnQFQ/13/
এইচটিএমএল:
<div ng-app="myApp">
<ng-form ng-controller="myCtrl">
Saving: {{isSaving}}
<fieldset ng-disabled="isSaving">
<input type="text" ng-model="btnVal"/>
<input type="button" ng-model="btnVal" value="{{btnVal}}"/>
<button ng-click="save()">Save Me Maybe</button>
</fieldset>
</ng-form>
</div>
এবং জেএস:
var angModule = angular.module("myApp", []);
angModule.controller("myCtrl", function ($scope, $filter, $window, $timeout) {
$scope.isSaving = undefined;
$scope.btnVal = 'Yes';
$scope.save = function()
{
$scope.isSaving = true;
$timeout( function()
{
$scope.isSaving = false;
alert( 'done');
}, 10000);
};
});
fieldset
একটি ফ্লেক্সবক্স ধারক হিসাবে ব্যবহার করা যায় না