【发布时间】:2016-03-15 20:43:01
【问题描述】:
我在使用 Angular 中的 UI-Router 创建多步骤表单时遇到问题。
我遇到的问题是保留输入到表单字段中的数据。
我尝试以本教程为例,尽管它与我正在做的有点不同:https://scotch.io/tutorials/angularjs-multi-step-form-using-ui-router
这是我目前的设置方式:
州:
.state('start', {
url: "/start",
templateUrl: "partials/start.html",
controller: 'FormController'
})
.state('info', {
url: "/info",
templateUrl: "partials/info.html",
controller: 'FormController'
})
.state('personnel', {
url: "/personnel",
templateUrl: "partials/personnel.html",
controller: 'FormController'
})
});
我的FormController 看起来像这样:
angular.module('formApp')
.controller('FormController', function($scope) {
$scope.formData = {};
});
这是我的表单的主要模板:
<div class="form-container" ng-controller="FormController">
<section class="form-container__head">
<div class="form-container__head__img-block">
<img id="logo" src="http://url.com" />
</div>
<div class="form-container__head__title-block">
<span class="form-container__head__title-block__title">FORM</span>
</div>
</section>
<form class="form-container__form" method="post" action="index.php" enctype="multipart/form-data">
<div ui-view autoscroll="true"></div>
<pre>
{{formData}}
</pre>
</form>
<section class="form-container__footer">
<label class="form-container__footer__text"></label>
<label class="form-container__footer__dot">•</label>
<label class="form-container__footer__text"></label>
<label class="form-container__footer__dot">•</label>
<label class="form-container__footer__text">www.site.com</label>
</section>
</div>
这是信息部分的一部分:
<fieldset class="form-container__form__fieldset">
<legend class="form-container__form__fieldset__heading"><h2>Information</h2></legend>
<section class="form-container__form__fieldset__section">
<div class="form-container__form__fieldset__section__field">
<label class="form-container__form__fieldset__section__field__label">Number:</label>
<input class="form-container__form__fieldset__section__field__input" ng-model="formData.number" type="text" name="number">
</div>
</section>
</fieldset>
我的目标是将某人键入的文本保存到上面的number 输入字段中,并将其保存以在另一个状态/视图中向下提交几步。
我不明白为什么当我在数字字段中输入数据时,我的主模板中 <pre> 中的 formData 表达式没有显示它。如果我将formData 表达式放在我有ng-model="formData.number" 的部分info 中,它确实显示正确。但是,一旦我离开info 状态,它就不会在任何其他状态下显示。如何解决这个问题?
我知道我可能缺少一些基本的东西,所以请指出正确的方向。
【问题讨论】:
标签: javascript angularjs forms angular-ui-router