Javascript angularjs表单提交数据为空

Javascript angularjs表单提交数据为空,javascript,angularjs,forms,algorithm,submit,Javascript,Angularjs,Forms,Algorithm,Submit,大家好 有一个表单元素 <form name="myForm" ng-submit="subMe()"> <input type="text" name="name" value="" /> </form> 那么,我怎样才能看到表单中的数据呢?未来将有许多投入要素 在后端检查有效表单的最佳实践是什么? 像这样做: var _valid = $http.post(); if ( _valid) { if ( createUserSuccess() ){

大家好

有一个表单元素

<form name="myForm" ng-submit="subMe()">
  <input type="text" name="name" value="" />
</form>
那么,我怎样才能看到表单中的数据呢?未来将有许多投入要素

在后端检查有效表单的最佳实践是什么? 像这样做:

var _valid = $http.post();
if ( _valid) {
  if ( createUserSuccess() ){
    showSucceess();
  } else {
    showError();
  }
} else {
  showBadFilledFormElements();
}

谢谢

您需要将模型添加到表单的输入元素中:

<form name="myForm" ng-submit="subMe()">
  <input type="text" name="name" value="" ng-model="myForm.name" />
  <input type="text" name="email" value="" ng-model="myForm.email" />
</form>

我不确定我是否理解您问题的第二部分,但您希望在将表单数据提交到api时创建一个最佳实践。您没有提交输入或按钮,因此
ng submit
不是用来查看表单数据的

在窗体范围内初始化空对象,如下所示

myApp.controller('formController', function($scope) {
  $scope.formData = {};

  $scope.submitForm = function() {
      //do stuff on submit
  }
});
然后像这样在标记中绑定
ng模型

<div ng-controller="formController">
   <form name="myForm" ng-submit="submitForm()">
       <input type="text" name="name" ng-model="formData.name" value="" />
       <button type="submit">Submit</button> 
   </form>
    {{formData}}
</div>

提交
{{formData}}
您可以使用标记中的
{{formData}
formController


编辑:更改了提交表单函数名以使其更有意义。

Eric Olson的答案非常正确。我只想在这里补充一点。你可能想结账

ngForm

表单指令的可嵌套别名。HTML不允许表单元素嵌套。嵌套表单非常有用,例如,如果需要确定控件子组的有效性

注:ngForm的目的是对控件进行分组,但不是用其所有功能(例如,向服务器发布等)替换标记。

如何

myApp.controller('formController', function($scope) {
  $scope.formData = {};

  $scope.submitForm = function() {
      //do stuff on submit
  }
});
<div ng-controller="formController">
   <form name="myForm" ng-submit="submitForm()">
       <input type="text" name="name" ng-model="formData.name" value="" />
       <button type="submit">Submit</button> 
   </form>
    {{formData}}
</div>