2016-07-27 62 views
0

我想将我发现的代码只从Jade转换为HTML。一切工作正常,但我不断从服务器“TypeError:无法读取属性'下的'未定义'的错误。我明白,发布的值是未定义的,这就是导致错误的原因。为什么价值没有被正确提交,是否存在与我的HTML代码一起拧的问题?玉到HTML未定义字段

JS... 

    var primesApp = angular.module('test', []); 

    primesApp.controller('testing', function ($scope, $http) { 
    $scope.results = []; 
    $scope.submit = function(target) { 
     console.log($scope.under) // undefined 
     $http.post('/' + 'grabber', {under:$scope.under}) 
      .then(function(docs) { 
      $scope.results = docs.data.results; 
      }); 
     }; 
    }); 



Jade... 
form(ng-submit="submit('" + target + "')") 
    label(for="under") 
    input(ng-model="under") 
    button(type="submit") Submit 

HTML... 
<form ng-submit="submit('grabber')"> 
     <input type="text" id="fruit" name="under" ng-model="under" value="apples"/> 
     <input type="submit" value="Submit" /> 
</form> 
+0

你确定这是不是角抱怨有没有“下”? – lonewarrior556

+0

当我记录下的值,它是未定义的,所以它实际上发布,但价值作为未定义... – MasterWizard

+0

@ lonewarrior556我添加了JS代码来显示我得到未定义的位置... – MasterWizard

回答

1

尝试在表单标签抛出ng-init="under='apples'"value=不能很好地与NG-模型

工作,或者你可以初始化它的控制器内$scope.under = "apples";

+0

它的工作,它在控制台打印出价值,但我认为你是对的......当价值到服务器时,它现在给出相同的错误。 – MasterWizard

+0

我还会删除,并且只需添加一个看起来像按钮的div,并用ng-click =“submit('grabber')”其他方式,您可能需要防止表单上的默认值可以独立于您的角度ajax调用提交。也许。我从来没有用过ng-submit。 – lonewarrior556