我有一个搜索字段和提交按钮。我想要做的是当单击按钮时,搜索字段的名称值将发送到控制器。问题是名称是动态的,如此名称=“select - {{variable}}”。 没有{{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>
答案 0 :(得分:1)
也许:
<input type="text" name="select[1]" />
<input type="text" name="select[2]" />
<input type="text" name="select[3]" />
腓
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 :(得分:0)
我从未对本网站感到满意。每次我问 问题,人们不理我
不到一个小时前你问了这个问题,请耐心等等。
有点不清楚你想要实现什么,也许有更简单的方法来完成工作。但我试图解决你的问题:
备选方案1
也许您可以在提交表单之前设置输入名称?使用AngularJS,您可以在使用ng-click =&#34;&#34;指定的函数中执行此操作。
<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>
&#13;
备选方案2
如果您需要尽快动态更新表单名称&#34;变量&#34;更改,然后您可以使用$ watch方法将新值分配给&#34; name_variable&#34;每次&#34;变量&#34;变化:
<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>
&#13;