如何回应用户下拉列表选择?

时间:2016-07-18 15:22:53

标签: php html select post menu

我试图在屏幕上回显用户从下拉菜单中选择的内容。因此,无论何时用户选择一个数字,它都会更新其下方的文本以显示他们选择的内容。这是我的代码:

<html>
<head>
</head>
<body>
<label for="numbers"></label>
<form action="drop.php">
    <select name="numbers">
    <option value="0">select number</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>
    <br><br>
    <input type="submit">
</form>

<?php

if(isset($_POST['numbers']))
{
    $numbers = $_POST['numbers'];
    $error = "?";
    echo "<p>" . $numbers . "</p>";
}
?>
</body>
</html>

更新的主要代码

3 个答案:

答案 0 :(得分:2)

在表单声明中尝试method =“post”。或使用$ _GET而不是$ _POST ON drop.php

如果(isset($ _ POST [ '编号']))

答案 1 :(得分:1)

我建议阅读PHP的Dealing with Forms教程,并研究change event

对于您的代码示例,我在select元素中添加了form element和“onchange”属性,当选择数字时,该元素将自动提交表单。

<html>
<head>
</head>
<body>
<form action="<?php echo basename(__FILE__); ?>" method="post">
<label for="numbers">Numbers:</label>
<select name="numbers" onchange="document.forms[0].submit();">
    <option value="0">select number</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<input type="submit">
</form>

<?php

if (array_key_exists('numbers', $_POST)) {
    $numbers = $_POST['numbers'];
    echo '<p>' . $numbers . '</p>';
}
?>

</body>
</html>

答案 2 :(得分:1)

将method =“post”添加到表单

<form action="drop.php" method="post">