我是设置表单的新手,我需要能够在另一台服务器上向Java后端提交两个单独的值。其中一个值是预定义值,应来自select
,另一个来自文本input
字段。
在前端,用户将从下拉列表中选择一个选项并在文本框中输入文本,然后点击提交按钮将其发送到后端。
我在设置这个问题时遇到了麻烦,并且正在寻找一些指针。我有一些代码描述了我一直想做的事情。
<div class="col-xs-3">
<label>Search Criteria:</label>
<select class="form-control" tabindex="20">
<option value="0" disabled selected>Select your criteria</option>
<option value="1">Project Reference</option>
<option value="2">Service Owner</option>
<option value="3">Service Name</option>
<option value="4">Service Abbreviation</option>
<option value="5">Domain Abbreviation</option>
<option value="6">Domain Name</option>
</select>
</div>
<div class="col-xs-3">
<label>Search Terms:</label>
<form name="options" class="form-inline">
<div class="form-group">
<input type="text" tabindex="21" class="form-control" placeholder="Search for..." ng-model="mytext" required>
<button type="submit" tabindex="22" style="color: #ffffff;
background-color: #007381;" class="btn btn-default" ng-disabled="options.$invalid"><b>Go </b><b></b><span class="glyphicon glyphicon-chevron-right"></span></button>
</div>
</form>
</div>
答案 0 :(得分:1)
您需要进行多次$ http服务调用。你可以在这样的控制器内完成:
.controller('YourController', function($http) {
var controller = this;
this.saveCriteria = function(criteria) {
$http({method: 'POST', url: '/backend_url_handle_criteria', data: criteria})
.success(function(data) {
//do something with data
}
};
this.saveTerm = function(term) {
$http({method: 'POST', url: '/backend_url_handle_term', data: term})
.success(function(data) {
//do something with data
}
};
this.send = function(formdata){
this.saveCriteria(formdata.criteria);
this.saveTerm(formdata.term);
};
});
在你的html中,你声明你的表格是这样的
<form name="yourForm" ng-controller="YourController as yourCtrl" ng-submit="yourCtrl.send(formdata)">