php - 通过 php 中的 $_POST 访问具有多个属性的选择选项
问题描述
我正在尝试为选择元素提取选项标签中的属性。选择元素是动态加载的。
具体表单级代码如下:
<form name='add'>
Age: <select name='age[]'>
<option value='1' stud_name='sre' st_address='address1'>23</option>
<option value='2' stud_name='sam' st_address='address2'>24</option>
<option value='5' stud_name='john' st_address='address13'>25</option>
</select>
<input type='submit' name='submit'/>
</form>
在我的 PHP 文件中,我通过以下方式访问提交的数据:$_POST['age'];
如何获取其他属性及其值?
解决方案
最好的方法是创建单独的输入字段并在select
更改时通过 Javascript 控制它们的值。
但是如果你坚持通过单个传递多个值select
,你可以考虑使用json
,这里是一个例子:
HTML:
<form name="add">
Age:
<select name="age">
<option value='{"age":"1","stud_name":"sre","st_address":"address1"}'>23</option>
<option value='{"age":"2","stud_name":"sam","st_address":"address2"}'>24</option>
<option value='{"age":"5","stud_name":"john","st_address":"address13"}'>25</option>
</select>
<input type="submit" name="submit"/>
</form>
PHP:
<?php
$age = json_decode($_POST['age']);
?>
推荐阅读
- android-studio - gradle 项目同步失败 Android studio 3.1.2
- python - 在 Python 中合并两个不规则数据框
- java - XSLT:添加名称空间、复制内容、更改复制内容的值
- java - 实现 150MB/秒恒速文件写入的硬件解决方案?
- javascript - Angular 5 TypeScript Bootstrap 下拉菜单无法通过 JavaScript 工作
- c# - 使用 DocumentFormat.OpenXml 替换 word 中的数据
- php - PHP password_hash() 如何通过 PHP_DEFAULT 确定使用哪种算法?
- pandas - distutils.errors.DistutilsPlatformError:需要 Microsoft Visual C++ 14.0
- angularjs - XSRF-TOKEN 在 AngularJS + Spring Boot 中使用 HttpOnly 进行保护,但不包含在返回的请求中
- sql - oracle % 函数中的通配符