양식이 checkboxes
이고 다른 입력란이 있습니다. data-ns-form
지시문은 ajax를 통해 양식 데이터를 제출하는 데 사용됩니다. 이 양식의 컨트롤러는 UserController
입니다.AngularJS - 아약스를 통해 확인란이있는 양식 제출
HTML
<div ng-controller="UserController">
<form data-ns-form="formData">
Full Name : <input type="text" name="fullname" ng-model="formData.fullname" />
Favourite Beverage :
<label>
<input type="checkbox" name="beverages[]" ng-model="formData.beverages[0]" value="coffee"> Coffee
</label>
<label>
<input type="checkbox" name="beverages[]" ng-model="formData.beverages[1]" value="tea"> Tea
</label>
<label>
<input type="checkbox" name="beverages[]" ng-model="formData.beverages[2]" value="colddrinks"> Cold Drinks
</label>
<button type="submit"> Send </button>
</form>
</div>
컨트롤러
app.controller('UserController', function($scope){
$scope.formData = {fullname : '', beverages : []};
});
지침
app.directive('nsForm', function(){
return {
restrict : "A",
scope: {
formData : "=nsForm"
},
link : function(scope, iElem, iAttr) {
$(iElem).on('submit', function(e) {
e.preventDefault();
console.log("FORM DATA");
console.log(scope.formData);
});
}
}
});
작은 설명
양식을 제출할 때 나는 체크 박스에 대해 부울 TRUE를 얻지 만 대신 값 attirbute에 값을 넣기를 원합니다. 예를 들어 '커피'와 '콜드 드링크'를 선택하면 beverages=[true,false,true]
이 표시되지만 원하는 것은 beverages['coffee','colddrink']
입니다. AngularJS
방법은 무엇입니까? 그리고 또한. directives
을 직접 작성하는 대신 AngularJS
에 preferred
양식을 제출하는 방법이 있습니까?
"비동기식"이란 무엇을 의미합니까? 관련성이없는 것 같습니다. – m59
@ m59 '아약스'라고해야할까요? 어쨌든 문제는'ajax' /'async'와 관련이 없습니다. – Lekhnath