本人更改公司一個(gè)項(xiàng)目,將JQuery中的$.ajax更改成AngularJS中的$http,原來提交資料的時(shí)候是$("#form").serialize(),而現(xiàn)在提交資料需要將資料一個(gè)個(gè)列出來封裝成json提交,這裡就是想問,angularjs中有沒有方法可以向前者一樣,一次將全部的表單資料提交。 (PS:公司要求專案中不要再用JQuery)
人生最曼妙的風(fēng)景,竟是內(nèi)心的淡定與從容!
<input ng-model="user.name">
<input ng-model="user.age">
透過上面的方式命名ng-model
在controller
中直接使用$scope.user
取得物件。
為form元素指定name屬性,然後form會(huì)在其所在的scope裡以這個(gè)名字定義一個(gè)form controller。
比方說
<form name="myForm">
<input name="myInput">
</form>
然後用以下操作取出值
function getFormValue(formCtrl) {
return Object
.keys(formCtrl)
.filter(function(key) {
return key[0] != '$';
}
.reduce(function(res, key) {
res[key] = formCtrl[key].$modelValue;
return res;
}, {});
}
getFormValue($scope.myForm);
// output: {myInput: "..."}