PHP下拉菜单不粘滞
我已经问过这个问题了,但在得到帮助后,我已经把代码拖得太长了。我试图使我的php下拉菜单粘性,但每次按下submit按钮后,它都会清除到顶部菜单项。我不知道我哪里出了问题,所以非常感谢您的帮助。代码如下:PHP下拉菜单不粘滞,php,html,drop-down-menu,sticky,Php,Html,Drop Down Menu,Sticky,我已经问过这个问题了,但在得到帮助后,我已经把代码拖得太长了。我试图使我的php下拉菜单粘性,但每次按下submit按钮后,它都会清除到顶部菜单项。我不知道我哪里出了问题,所以非常感谢您的帮助。代码如下: <!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <?php if (isset($_P
<!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>
例子
你是如何发现这个网站的
value=“WebSearch”>网络搜索
value=“Wordofmouth”>口碑
首先,您的表单中没有$POST['fontFamily']
变量。你为什么要用它?
您应该使用$\u POST['Question']
来获取此值
因此,它应该是:
if (isset($_POST['Question']))
{
$menuVar = $_POST['Question'];
}
if (isset($_POST['Question']))
{
$menuVar = $_POST['Question'];
} else {
$menuVar = "----------";
}
另外,如果没有$POST
,您应该初始化$menuVar
,以免收到通知:未定义变量$menuVar
。因此,最终您的代码应该是:
if (isset($_POST['Question']))
{
$menuVar = $_POST['Question'];
}
if (isset($_POST['Question']))
{
$menuVar = $_POST['Question'];
} else {
$menuVar = "----------";
}
你说的粘性是什么意思?是否希望表单在刷新页面后保留以前选择的值?页面上还有其他必要的表单字段,如果未输入日期,将显示错误消息。发生这种情况时,我不希望此下拉菜单重置。我已经解决了其他表单字段,它们不再清除,但不知道如何保留下拉菜单项?如果由于无效条目而显示错误消息,我希望所有数据保持在按下提交按钮之前的状态。如果不发生这种情况,用户将不得不重新填写整个表单。嗨,007。我刚刚注意到你的帖子。包含所有内容的页面非常大,不适合屏幕截图。问题现在已经解决了,再往下看。谢谢你愿意帮助我:)修好了!我完全错过了家庭的那一点!那是个错误。我花了好几个小时试图解决这个问题,但没有结果,我正要放弃!非常感谢您的时间和代码。我将用我的photoshop技能回馈社区,因为我的编码技能太糟糕了!我建议您在开发环境中启用错误报告,包括PHP配置中的注意事项。当我进行最初的php培训时,我在本地设置并通过终端命令配置了错误报告。问题是,在这之后,我对apache有了一些问题,我根本就不理解,并安装了MAMP。这就是我现在用的!你知道一个好的PHP调试器吗?我确实需要一个。。。我自学成才,当事情不顺利时,我真的很挣扎!谢谢您的帮助:)您现在不需要调试器。您应该已经设置了error\u reporting(E\u ALL)
(您也可以在PHP.ini中设置它,如果您自己安装它或通过MAMP安装它,这是可用的),如果需要,只需在代码中的任何位置使用var\u dump
检查变量值,以验证其值。Ok听起来不错。我会遵循这个建议,希望将来能够更轻松地解决我自己的问题!非常感谢:)