我有一个搜索字段和提交按钮。我想做的是当按钮被点击,搜索字段的名称的值被发送到控制器。问题是名称是动态的,如name="select-{{variable}}"。没有{{变量}},我可以很容易地得到它,但随着它的变化,我不知道如何得到它。请给个提示。代码:
<form class="form-inline" method="post">
<div class="form-group">
<input type="text" class="form-control" name="select-{{ variable }}" placeholder="Search" />
</div>
<div class="form-group">
<button class="btn btn-success" id="btn" type="submit">Submit</button>
</div>
</form>
可能:
<input type="text" name="select[1]" />
<input type="text" name="select[2]" />
<input type="text" name="select[3]" />
Php foreach($_POST['select'] as $key => $value) {
echo "text $key = $value";
}
如果你想在PHP中轻松获取它们的值,只需将它们命名为"name[]"。
<input type="text" name="input[]" />
php foreach($_POST['input'] as $value) {
// do what you want with the $value
}
希望有帮助
我对这个网站从来都不满意。每次我问问题,人们忽视我
你问这个问题才不到一个小时,耐心点…
你想要达到的目标有点不清楚,也许有更简单的方法来完成工作。但是我已经尽力解决你的问题了:
替代1也许您可以在提交表单之前设置输入名称?在AngularJS中,你可以通过ng-click="来指定函数。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html>
<body ng-app="app" ng-controller="ctrl">
<form class="form-inline" method="post">
<div class="form-group">
<input type="text" name="form_name" placegolder="form-name" ng-model="variable"/>
<input type="text" name="{{name_variable}}" placeholder="My Name is: {{name_variable}}" />
</div>
<div class="form-group">
<button class="btn btn-success" ng-click="submit()">Submit</button>
</div>
<script>
var app = angular.module('app', []);
app.controller('ctrl', function($scope) {
$scope.variable = '';
// Submit function
$scope.submit = function() {
$scope.name_variable = 'select-' + $scope.variable;
alert('Input Name: ' + $scope.name_variable);
}
});
</script>
</body>
</html>
替代2 如果你需要在"variable"发生变化时动态更新表单名称,那么你可以使用$watch方法在每次"variable"发生变化时为"name_variable"赋一个新值:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-app="app" ng-controller="ctrl">
<form class="form-inline" method="post">
<div class="form-group">
<input type="text" name="form_name" placegolder="form-name" ng-model="variable"/>
<input type="text" name="{{name_variable}}" placeholder="My name is: {{name_variable}}" />
</div>
<div class="form-group">
<button class="btn btn-success" ng-click="submit()">Submit</button>
</div>
<script>
var app = angular.module('app', []);
app.controller('ctrl', function($scope) {
$scope.variable = '';
// Watch the var "variable" for change and update "name_variable"
$scope.$watch('variable',
function(newValue, oldValue) {
$scope.name_variable = 'select-' + newValue;
});
// Submit function
$scope.submit = function() {
alert('Input Name: ' + $scope.name_variable);
}
});
</script>
</body>
</html>