PHP:HTML:在POST中发送HTML选择选项属性

时间:2013-01-29 08:30:32

标签: php html html-parsing

我想发送所选项目值以及某个属性(stud_name)值。 PHP中是否有任何功能可以执行此操作? 这是一个例子。

<form name='add'>
Age: <select name='age'>
     <option value='1' stud_name='sre'>23</option>
     <option value='2' stud_name='sam'>24</option>
     <option value='5' stud_name='john'>25</option>
     </select>
<input type='submit' name='submit'/>
</form>

由于

5 个答案:

答案 0 :(得分:33)

<form name='add' method="post">
Age: <select name='age'>
     <option value='1_sre' >23</option>
     <option value='2_sam'>24</option>
     <option value='5_john'>25</option>
     </select>
<input type='submit' name='submit'/>
</form>

您将在$_POST['age']中获得所选值。例如:1_sre。然后,您将能够拆分该值并获得'stud_name'

$stud = explode("_",$_POST['age']);
$stud_id = $stud[0];
$stud_name = $stud[1];

答案 1 :(得分:7)

您可以使用JQuery

执行此操作

简单地:

   <form name='add'>
   Age: <select id="age" name='age'>
   <option value='1' stud_name='sre'>23</option>
   <option value='2' stud_name='sam'>24</option>
   <option value='5' stud_name='john'>25</option>
   </select>
   <input type='hidden' id="name" name="name" value=""/>
   <input type='submit' name='submit'/>
   </form>

在标题部分添加此代码:

<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>

现在JQuery功能

<script type="text/javascript" language="javascript">
$(function() {
      $("#age").change(function(){
      var studentNmae= $('option:selected', this).attr('stud_name');
      $('#name').val(studentNmae);
   });
});
</script>

您可以将这两个值都用作

$name = $_POST['name'];
$value = $_POST['age'];

答案 2 :(得分:1)

您必须使用JavaScript。浏览器只会发送所选选项的value(因此不是PHP的错误)。

你的JS应该做的是挂钩表单的提交事件,并使用所选选项的stud_name值的值创建一个隐藏字段。然后,此隐藏字段将被发送到服务器。

话虽如此......你不应该在客户端上传递以提供正确的数据。您已经知道服务器上给定值的stud_name应该是什么(因为您正在输出它)。因此,在处理表单时应用相同的逻辑。

答案 3 :(得分:0)

只需合并值和stud_name,例如1_sre并在将其加入php时拆分该值。 Javascript似乎是锤子破解坚果。注:此方法假设您可以编辑html。以下是html的外观:

<form name='add'>
Age: <select name='age'>
     <option value='1_sre'>23</option>
     <option value='2_sam>24</option>
     <option value='5_john>25</option>
     </select>
<input type='submit' name='submit'/>
</form>

答案 4 :(得分:0)

您可以使用jquery函数。

<form name='add'>
   <input type='text' name='stud_name' id="stud_name" value=""/>
   Age: <select name='age' id="age">
   <option value='1' stud_name='sre'>23</option>
   <option value='2' stud_name='sam'>24</option>
   <option value='5' stud_name='john'>25</option>
   </select>
   <input type='submit' name='submit'/>
</form>

jquery代码:

<script type="text/javascript" src="jquery.js"></script>

<script>
    $(function() {
          $("#age").change(function(){
          var option = $('option:selected', this).attr('stud_name');
          $('#stud_name').val(option);
       });
    });
</script>