我已经问了这个问题,但是在我得到帮助之后已经拖过代码了。我试图让我的php下拉菜单粘滞,但每次按下提交按钮后它会清除到顶部菜单项。我不知道我哪里出错了所以非常感谢任何帮助。代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
if (isset($_POST['Question']))
{
$menuVar = $_POST['fontFamily'];
}
?>
<p id="info-req">How did you find about this site?</p>
<form name="TestMenu" method="post" id="marketing">
<select name="Question">
<option <?php if($menuVar=="----------") echo 'selected="selected"'; ?> value="----------">----------</option>
<option <?php if($menuVar=="WebSearch") echo 'selected="selected"'; ?> value="WebSearch">Web Search</option>
<option <?php if($menuVar=="SocialMedia") echo 'selected="selected"'; ?> value="SocialMedia">Social Media</option>
<option <?php if($menuVar=="Wordofmouth") echo 'selected="selected"'; ?> value="Wordofmouth">Word of mouth</option>
<option <?php if($menuVar=="Other") echo 'selected="selected"'; ?> value="Other">Other</option>
</select>
<input type="submit" />
</form>
</body>
</html>
答案 0 :(得分:1)
首先,表单中没有$POST['fontFamily']
变量。你为什么要用呢?
您应该使用$_POST['Question']
来获取此值。
所以它应该是:
if (isset($_POST['Question']))
{
$menuVar = $_POST['Question'];
}
如果没有$menuVar
,为了不获得$POST
,您应该初始化Notice: Undefined variable $menuVar
。所以最后你的代码应该是:
if (isset($_POST['Question']))
{
$menuVar = $_POST['Question'];
} else {
$menuVar = "----------";
}