通过PHP中的$ _POST访问具有多个属性的选择选项

时间:2018-08-30 05:31:04

标签: php html

我正在尝试在options标记中提取select元素的属性。 select元素是动态加载的。

具体的表单级别代码如下:

<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'];如何获取其他属性及其值?

3 个答案:

答案 0 :(得分:0)

最好的方法是在更改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']);

?>

答案 1 :(得分:0)

您无法在php中访问属性值。只有您可以访问的是发布数据。如果要访问php中的属性,则必须使用javascript或jQuery。

ex: https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_html_attr_set

与上述相同,您可以设置值以在隐藏字段中发布并提交到php

答案 2 :(得分:0)

您错过了表单的属性; method =“ post”,以便在php中使用$ _POST。像:<form method="post" name="add"> ... </form>