Javascript 验证下拉选项(菜单)

Javascript 验证下拉选项(菜单),javascript,php,jquery,html,Javascript,Php,Jquery,Html,在一个包含表单的小网站上工作,其中一个选项是一个下拉选项(菜单),如下所示 adduser.html <label for="username">Username: <input type="text" id="username" name="username" value="" /><br /> <select name="level"> <option value="1">Select Level...</option&

在一个包含表单的小网站上工作,其中一个选项是一个下拉选项(菜单),如下所示

adduser.html

<label for="username">Username: <input type="text" id="username" name="username" value="" /><br /> 
<select name="level">
  <option value="1">Select Level...</option>
  <option value="2">Boss</option>
  <option value="3">Employee</option>
</select><br />
<label for="password">Password: <input type="text" id="password" name="password" value="" /><br />
用户名:
选择级别。。。 老板 雇员
密码:
我这样做是为了验证是否选择了not选项

uservalidation.php

if(empty($_POST['username']))
{
  die("Enter a username<br><a href='adduser.php'>back</a>");
}

if(empty($_POST['password']))
{
  die("Enter a password<br><a href='adduser.php'>back</a>");
}

if(isset($_POST['level']) && ($_POST['level'] == '1'))
{
  die("Select level<br><a href='adduser.php'>back</a>");
}
if(空($\u POST['username']))
{
死亡(“输入用户名
”; } if(空($_POST['password'])) { 死亡(“输入密码
”; } 如果(设置($_POST['level'])&($_POST['level']='1')) { 模具(“选择级别
”; }
但这是行不通的,不知道为什么,或者如何解决这个问题


提前感谢

看起来您并不是在验证表单是否已发布

if(isset($_POST['level']) && ($_POST['level'] == '1'))
{
  die("Select level<br><a href='adduser.php'>back</a>");
}
if(isset($\u POST['level'])&&($\u POST['level']='1'))
{
模具(“选择级别
”; }
在HTML周围使用
表单
标记,并确保在
表单
标记中使用
method=“post”
,以便您的
post
请求在
PHP
中工作

form
标记的
action
属性只指定表单将向其提交数据的URL

试试这个:

<form action="#" method="post">
<label for="username">Username: <input type="text" id="username" name="username" value="" /><br /> 
<select name="level">
  <option value="1">Select Level...</option>
  <option value="2">Boss</option>
  <option value="3">Employee</option>
</select><br />
<label for="password">Password: <input type="text" id="password" name="password" value="" /><br />
<input type="submit">
</form>
<?
if(isset($_POST['level']) && ($_POST['level'] == '1'))
{
  die("Select level<br><a href='adduser.php'>back</a>");
}
?>

用户名:
选择级别。。。 老板 雇员
密码:
更新


正如在评论中提到的,我在那里添加了一个
isset($\u POST)
检查,以避免
未定义的索引

看起来不错,尝试var\u dump($\u POST)以查看您包含的标记javascript的内部内容……您是否尝试过客户端验证,例如检查选项“1”的函数是否在提交表单之前选中?@ThomasP1988我尝试添加var_转储,但当我单击“提交”时,没有发生任何事情,就像没有检测到值为1@TheOneandOnlyChemistryBlob是的,我已经这样做了,但是我也必须在服务网站上这样做,与@ThomasP1988的观点有关,你试过$POST['level'吗==1,以防php将选项值视为数字而不是字符串?@Alberto在if语句之前尝试var_dump($_POST)并粘贴结果。您应该添加一个
isset($_POST['level'])
也在那里签入,以避免
未定义索引
@ChrisMagnussen谢谢!当然用学分更新了它