AngularJS动态表单值未通过提交角度获取

时间:2014-06-23 13:07:24

标签: javascript jquery angularjs

我在附有角度模型的页面上有一些表单输入,但是在执行了一些图像上传后,通过jquery调用动态设置了其中一个值。

  <input class="form-control ng-dirty ng-valid ng-valid-required" id="name" ng-model="item.name" required="required" name="name" type="text" value="">

   <input class="form-control ng-dirty ng-valid ng-valid-required" id="url" ng-model="item.url" required="required" name="url" type="text" value="">

   <input class="form-control" id="imgname" ng-model="item.imgname" required="required" name="imgname" type="text" value="">

后面的输入字段是通过jquery添加的。

   <input class="form-control" id="imgname" ng-model="item.imgname" required="required" name="imgname" type="text" value="">

问题是,当我提交表单时,只发送item.name和item.url而不是item.imgname。

我的提交代码:

   $scope.submitForm = function(store){
    ....
        $log.debug(store);
   };

我将代码添加到表单中:

  ...
  complete : function(imgname){
      JQ('#imgname').val(imgname);
  },...

如何添加数据并让表单在提交时选择?

2 个答案:

答案 0 :(得分:0)

您无法通过Jquery设置ng-model值。相反,你必须在控制器的某个地方填充名为“item.imgname”的范围,例如$ scope.item.imgname =“Hello” 在提交按钮上,您可以获得整个模型(项目)...您肯定会在item.imgname模型中拥有该值。

答案 1 :(得分:0)

事实上,经过几次检查并只检查我的代码后,我首先必须更正输入类型,因为我将其设置为URL而不是文本类型因此它总是导致问题等。

无论如何,一旦被分类,我就放置了

       $scope.item = {};

在我的控制器内。

然后更换了

     JQ('#imgname').val(imgname);

表示$ scope值

    complete : function(imgname){

       $scope.item.img = imgname;

    }....

然后,一旦上传图像,然后填写表格字段,如上所示。另一个表单详细说明了img字段是随表单提交的。