Angularjs获取字段

时间:2015-08-27 12:28:49

标签: angularjs

我在div中有一个输入表单字段来获取客户端名称,项目开始日期和项目结束日期。但是,我将这些字段值定义为未定义。我的代码如下。我添加了用于获取这三个字段的代码:

var  cilentname=$scope.vm.clientname;
var prjstartdate=$scope.vm.prjstartdate ;
var prjenddate=$scope.vm.prjenddate;


<form name="form" ng-submit="vm.login()" role="form">
      <div class="modal-body">
        <div class="form-horizontal">
          <div class="form-group">

            <label for="inputEmail3" class="col-sm-3 control-label">Project Name</label>
            <div class="col-sm-9">
                <input type="text" name="prjname" id="prjname" class="form-control" ng-model="vm.prjname" required />
                <span ng-show="form.firstName.$dirty && form.firstName.$error.required" class="help-block">First name is required</span>
            </div>
          </div>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-3 control-label">Client Name</label>
            <div class="col-sm-9">
                <div ng-controller="MyCntrl"  >
                    <select class="form-control"  name="clientname" id="clientname" class="form-control" ng-model="vm.clientname" ng-change="change(myColor)" >
                        <option value="">Select Client Name</option>                                
                        <option ng-repeat="color in colors" 
                                value="{{color.value}}" 
                                ng-selected="{{color.value == myColor}}" name="clientname" id="clientname" class="form-control" ng-model="vm.clientname">
                          {{color.clientname}}
                        </option>
                    </select>
                </div>
            </div>
        </div>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-3 control-label">Project Status</label>
            <div class="col-sm-9">
                <input type="text" name="prjsta" id="prjsta" class="form-control" ng-model="vm.prjsta" required />
                <span ng-show="form.username.$dirty && form.username.$error.required" class="help-block">Username is required</span>
            </div>
          </div>
          <div class="form-group">
            <label for="inputPassword3" class="col-sm-3 control-label">Project Startdate</label>
            <div class="col-sm-9">

            <!--   <input type="text" name="prjstartdate" id="prjstartdate" class="form-control" ng-model="vm.user.prjstartdate" required />-->
<div class="container" id="sandbox-container">
 <div class="input-daterange input-group" id="datepicker">
 <input class="input-sm form-control" name="prjstartdate" id="prjstartdate" class="form-control" ng-model="vm.prjstartdate"  type="text">

    </div>

</div>
                <span ng-show="form.password.$dirty && form.password.$error.required" class="help-block">Password is required</span>
            </div>
          </div>



            <div class="form-group">
            <label for="inputPassword3" class="col-sm-3 control-label">Project Enddate</label>
            <div class="col-sm-9">
                <!-- <input type="text" name="prjenddate" id="prjenddate" class="form-control" ng-model="vm.user.prjenddate" required />-->

                <div class="container" id="sandbox-container">
 <div class="input-daterange input-group" id="datepicker">
 <input class="input-sm form-control" name="prjenddate" id="prjenddate" class="form-control" ng-model="vm.prjenddate"  type="text">

    </div>

</div>
                <span ng-show="form.password.$dirty && form.password.$error.required" class="help-block">Password is required</span>
            </div>
          </div>

            <div class="form-group">
            <label for="inputPassword3" class="col-sm-3 control-label">Project PIN Url</label>
            <div class="col-sm-9">
                <input type="text" name="prjurl" id="prjurl" class="form-control" ng-model="vm.prjurl" required />
                <span ng-show="form.password.$dirty && form.password.$error.required" class="help-block">Password is required</span>
            </div>
          </div>
        </div>
      </div>

函数MyCntrlsave($ scope,$ http){

    $scope.savedetails = function() {
    var vm = this;
    var  projectname=$scope.vm.prjname;
    var  cilentname=vm.clientname
    var clientstatus=$scope.vm.prjsta
    var prjstartdate=$scope.vm.prjstartdate
    var prjenddate=$scope.vm.prjenddate
    var prjurl=$scope.vm.prjurl
    alert("cilentname"+cilentname)
    alert("prjstartdate"+prjstartdate)
    alert("prjenddate"+prjenddate)

    }
    }

2 个答案:

答案 0 :(得分:1)

如果您使用morphOne,则还应使用Product语法。因此,当您使用var vm = this时,您可以使用controllerAs(如果在HTML中使用ng-ctrl)或MyCntrlsave(如果使用类似路线和视图的内容)。

答案 1 :(得分:0)

您需要创建一个空对象来保存数据。类似下面的内容

$scope.fromData = {};

然后在你的html中你需要像这样包含这个对象来保存数据

<div class="form-group">

        <label for="inputEmail3" class="col-sm-3 control-label">Project Name</label>
        <div class="col-sm-9">
            <input type="text" name="prjname" id="prjname" class="form-control" ng-model="fromData.prjname" required />
            <span ng-show="form.firstName.$dirty && form.firstName.$error.required" class="help-block">First name is required</span>
        </div>
 </div>

希望这有帮助