如何使用其他页面中的数据预填充表单字段

时间:2015-06-15 19:25:31

标签: angularjs

我还有一个看起来像这样的angularJS形式

<section>

  <form role="form" ng-if="authenticated != true" 
     name="registerForm" ng-submit="register(registerForm)" novalidate>
   <input type="email" class="form-control" ng-model="user.email" name="email" >
    <input type="email" class="form-control" ng-model="user.password1" name="email" >
    <input type="email" class="form-control" ng-model="user.password2" name="email" >
  </form>
</section>

和javascript:

    'register': function(username,password1,password2,email,more){
        var data = {
            'username':username,
            'password1':password1,
            'password2':password2,
            'email':email
        }
        data = angular.extend(data,more);
        return this.request({
            'method': "POST",
            'url': "/registration/",
            'data' :data
        });
    },

我在着陆页上有另一个表单,其中包含字段email和一个按钮。当我按下按钮时,我希望用户指向上一页,并预先填充电子邮件字段。我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您想采用URL参数路由,请尝试以下方法:

在目标网页中,将此代码添加到按钮触发的功能中:

$location.path("/form").search("email",ctrl.email);

其中“/ form”是表单页面的路径,ctrl.email是您登录页面中电子邮件字段的ng-model。

然后在表单页面的控制器上添加:

var pathQueryVals = $location.search();
if (!!pathQueryVals.email){
      user.email = pathQueryVals.email;
}

这将从您的路径中提取查询参数,如果存在“email”,则会将该值分配给您的user.email字段并预先填充该字段。