如何使用php从下拉列表中获取值?

时间:2014-06-10 12:18:58

标签: php html

<select name='car1'>
     <option value='1'>Toyota</option>
     <option value='2'>Honda</option>
     <option value='3'>Ford</option>
</select>

<input type='submit' name='submitform' />

if(isset($_POST['submitform'])){
    $Getvalue = $_POST['car1'];
    echo $Getvalue;
}

如何获得价值(丰田,本田和福特)而不是数字

5 个答案:

答案 0 :(得分:2)

在POST中,您只收到提交的值,因此您应该使用

<option value="Toyota">Toyota</option>

答案 1 :(得分:2)

使用它。

<select name='car1'>
  <option value='Toyota'>Toyota</option>
  <option value='Honda'>Honda</option>
  <option value='Ford'>Ford</option>
</select>

答案 2 :(得分:1)

或者,如果可以的话,你可以在这个中使用jquery。你需要另一个容器来命名&#39;。考虑这个例子:

<?php

if(isset($_POST['car1'])) {
    $id = $_POST['car1'];
    $name = $_POST['selected'];
    echo $name;
}

?>

<form method="POST" action="">
    <input type="hidden" name="selected" value="" />
    <select name='car1'>
        <option value='1'>Toyota</option>
        <option value='2'>Honda</option>
        <option value='3'>Ford</option>
        </select>
</form>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

    $('select[name="car1"]').change(function(){
        // as you select your pick, 
        // this will append the name inside the hidden input
        var selected = $(this).val();
        var value = $('select[name="car1"] option[value="'+selected+'"]').text();
        $(this).prev('input[name="selected"]').attr('value', value);
        $('form').submit();
    });

});
</script>

Sample Fiddle

答案 3 :(得分:0)

只有选项值才会在$ _POST中发送。如果您不需要数字值,请将其替换为文本值。

<select name='car1'>
 <option value='Toyota'>Toyota</option>
 <option value='Honda'>Honda</option>
 <option value='Ford'>Ford</option>
</select>

答案 4 :(得分:0)

Web浏览器发送到网络服务器帖子行,如“car1 = 1&amp; submitform =”。 Php脚本不知道options内的内容。将值更改为:

<select name='car1'>
     <option value='Toyota'>Toyota</option>
     <option value='Honda'>Honda</option>
     <option value='Ford'>Ford</option>
</select>