我正在开发一个网站,用户可以在该网站上提交几种不同类型的表单。我想包括提交的表格类型(基本、高级、其他)。我读过在AngularJS中使用隐藏字段是可能的,但不推荐使用。我宁愿把事情做好,而不是找个破解方法来解决问题。提交不需要向用户显示但应包含在提交中的信息的正确方式是什么?
这是表单的HTML:
<form name="myForm">
<div class="control-group">
<label>Name</label>
<input type="text" name="name">
</div>
<label>Description</label>
<textarea name="description"></textarea>
<button ng-click="editProject.save()" class="btn btn-primary">Save</button>
<!--{{formselection}}-->
</form>
如果使用ng模型,则隐藏字段在对象内存上下文中,只向用户填充显示数据。
HTML:
<form name="myForm">
<div class="control-group">
<label>Name</label>
<input type="text" name="name" ng-model="form.name">
</div>
<label>Description</label>
<textarea name="description" ng-model="form.description"></textarea>
<button ng-click="editProject.save(form)" class="btn btn-primary">Save</button> <!-- Pass the form to the method in controller-->
</form>
控制器:
$scope.form = {
hiddenField1: "anyValue",
hiddenField2: "anotherValue"
};
$scope.editProject = {save: function(form){
//http request given the form, this contain the name, description and the two hidden field
}}
http://plnkr.co/edit/fjnGc4Q4f8ZfwhupkOdR