【问题标题】:What is the right way to implement drop down option menu within an HTML form?在 HTML 表单中实现下拉选项菜单的正确方法是什么?
【发布时间】:2017-08-06 10:44:23
【问题描述】:

我正在尝试放置一个下拉菜单,但由于某种原因它无法获得选定的选项。我使用 POST 方法将它发送到 PHP 服务器。

<center><form style="align:left;"action="signuphand.php" method="post" accept-charset="utf-8">
                  <label>Enter name of teacher: </label><input type="text" name="name" value="" placeholder="Name">
                <br />
                <label>Enter branch:
                    <select name="branch">
                <option value="SELECT BRANCH">SELECT BRANCH</option>    
                <option value="ECE">ECE</option>
                <option value="CSE">CSE</option>
                <option value="MECH">MECH</option>
                <option value="E & I">E & I</option>
                <option value="CIVIL">CIVIL</option>
                <option value="ELECTRICAL">ELECTRICAL</option>
                </select>   

                 </label>
                <br />
            <label>Enter role:
                <select id="role">
                <option value="SELECT ROLE">SELECT ROLE</option>
                <option value="teacher">teacher</option>
                <option value="student">student</option>
                </select>            

而 PHP 是

   if (isset($_POST['register']))
{
    $name= $_POST['name'];
    if (isset($_POST['branch'])){
        $branch= $_POST['branch'];  
    }
    $user = $_POST['username'];
    $pass = $_POST['password'];
    $pass2= $_POST['password1'];
    if (isset($_POST['branch'])){
        $role= $_POST['role'];  
    }

但问题仍未解决。我的表中的分支和角色列仍然是空的。遵循这个技术 How to get a value of HTML drop down menu using PHP?

还有许多其他问题仍然存在,请帮助。使用 isset 因为没有它我得到了“角色”和“分支”的未定义索引。

【问题讨论】:

  • 你检查过$_POST数组的内容吗?做var_dump($_POST);。另外,你从哪里得到$_POST['role']
  • 在“分支”下面有一个类似的选择标签,我从那里得到角色
  • &lt;select id="role"&gt; 上没有 name。没有名字就不会被提交
  • 我也试过

标签: javascript php html


【解决方案1】:

对于第二个选择标签,您使用了“id”属性而不是“name”。所以你应该先把它改成名字:

<select name="role">
  <option value="SELECT ROLE">SELECT ROLE</option>
  <option value="teacher">teacher</option>
  <option value="student">student</option>
</select> 

其次,在您的 php 文件中,您检查了是否设置了“分支”而不是“角色”。所以也修复它:

if (isset($_POST['register']))
{
$name= $_POST['name'];
if (isset($_POST['branch'])){
    $branch= $_POST['branch'];  
}
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2= $_POST['password1'];
if (isset($_POST['role'])){
    $role= $_POST['role'];  
}

如果仍然无法正常工作,请考虑发布您的整个代码,也许那里有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 2017-05-29
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    相关资源
    最近更新 更多