我有一个包含一些特殊字符作为键的表单。 以下是一个例子:
<input type="text" name="skills[React.js]" placeholder="Years" class="form-control">
<input type="text" name="skills[Responsive-Web-Design-(RWD)]" placeholder="Years" class="form-control">
当我发布表单时,我得到0:值,1:值 而不是React.js:value,Responsive-Web-Design-(RWD):value
有没有人可能知道任何变通办法?
任何帮助都会非常感激!
答案 0 :(得分:0)
要获得所需的输出,文本输入应该是这样的
MyApp#stop(...)
在服务器端,收到这些值
<input type="text" name="skills[]"
placeholder="Years" class="form-control"
value="React.js">
<input type="text" name="skills[]"
placeholder="Years" class="form-control"
value="Responsive-Web-Design-(RWD)">
答案 1 :(得分:0)
以下是使用vanilla PHP
的方法<?php
$topics = [
1 => 'React.js',
2 => 'Responsive-Web-Design-(RWD)'
]
?>
<?php foreach ($topics as $key => $label) { ?>
<input type="text" name="skills[<?php echo $key; ?>]" placeholder="Years" class="form-control">
<?php } ?>
提交的请求应包含:
[
'skills' => [
1 => 'first field value',
2 => 'second field value',
]
]
所以按照你想要的方式得到它:
$skills = [];
foreach($_POST['skills'] as $key => $value) {
$skills[$topics[$key]] = $value;
}
$result
数组现在包含:
[
'React.js' => 'value 1',
'Responsive-Web-Design-(RWD)' => 'value 2'
]