2011-09-06 165 views
4

表单中的选择列表,我知道使用post或get传递选项值没有问题。但是,如果我也想通过选择ID值,这是可能的和如何? 例如:如何通过post或get来传递表单中选择列表的id值?

<form action="Test.php" method="POST"> 
       <select name="select" id = '1'> 
        <option value="">Select a Status</option> 
        <option value="0">0</option> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
       </select>     
       <input type="submit" value="submit"/> 
      </form> 

这里是简单的打印PHP代码:

<?php 
    print_r($_POST['select']); 
?> 

它可以打印已经选择了该选项的值,但如何修改代码,如果我也想发布id值,这里是1。我想这样做,因为我想让id成为一个变量来存储一些int数字。谢谢!

回答

5

id属性纯粹是为了在客户端代码中使用而设计的。如果你想传递额外的数据,然后使用隐藏的输入 - 这是他们的设计。

<input type="hidden" name="select_extra" value="1"> 
<select name="select"> 
    <option value="">Select a Status</option> 
    <option value="0">0</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select>     
+0

并使用JS来设置隐藏元素的值 – Kumar

+1

只有在必要时才使用JS来设置值。如果您在将页面发送给客户端时知道它们,请将它们包括在内。如果您可以在请求返回到服务器时从其他用户提交的数据推断出这些数据,那么请执行此操作。不要在JS上添加不必要的依赖项。 – Quentin

+0

得到它的工作!谢谢! – user878729

1

ID不会自动通过HTTP传递。

您需要用:

  1. 使用input hidden
  2. 使用一个特殊的名字。 I.E. <select name="select_1" id="1">...</select
+0

谢谢你的帮助! – user878729

相关问题