如何在下拉列表中选择显示文本

时间:2016-01-08 12:40:57

标签: php

我试图在PHP中做一些非常简单的事情,但不断收到错误消息。基本上,当有人选择" Cat"时,我想要" Miaow"出现。

我的想法是:

<select name="demo">
  <option value="Dog">Dog</option>
  <option value="Cat">Cat</option>
  <option value="Fish">Fish</option>
</select>

<?php if ($_POST['demo'] == 'Cat') { echo 'Miaow'; } ?>

然而,在PHPFiddle中,

  

我得到了E_NOTICE:输入8 - 未定义的索引......&#39;

一旦代码运行,

我错过了什么基本的东西?谢谢!

3 个答案:

答案 0 :(得分:1)

您的表单可能是通过$ _GET而不是$ _POST传递数据。 你有没有指定方法?

<form method="post" action="index.php">
    <select name="demo">
      <option value="Dog">Dog</option>
      <option value="Cat">Cat</option>
      <option value="Fish">Fish</option>
    </select>
    <input type="submit" value="Submit">
</form>

您可以var_dump($_POST);var_dump($_GET);查看这些变量在PHP文件中包含的内容。

或者你可以在这样的javascript中完成:

function animal(value) {
  if(value == "Cat") {
    document.getElementById("myAnimal").innerHTML = "Miaouw";
  } else {
    document.getElementById("myAnimal").innerHTML = "Rooooah";
  }
}
<form action="#">
    <select name="demo" onchange="animal(this.value)">
        <option value="Dog">Dog</option>
        <option value="Cat">Cat</option>
        <option value="Fish">Fish</option>
    </select>
</form>
<span id="myAnimal"></span>

答案 1 :(得分:0)

也许这会有所帮助,据我所知,我写了一些块......

$enc = "HyS7Nj+c3b3+1kaT6gLpK9kDQS3lIDtYUNQHtz/bLAw=";
echo preg_replace('/\W/', '', $enc);

答案 2 :(得分:0)

  

是否可以使用PHP执行此操作,以便“Miaow”自动选择,而不必提交表单?

您正在寻找JavaScript代码,而不是PHP。这是一个jQuery示例:

$(document).on('change', '.animals', function(){
  $('.noise-target').html( $('option:selected', this).data('noise') );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="animals">
  <option>Select</option>
  <option data-noise="Woof">Dog</option>
  <option data-noise="Meow">Cat</option>
</select>
<div class="noise-target"></div>