在此上下文中元素选择中不允许使用文本

时间:2017-02-07 16:32:44

标签: php html validation

我创建了一个论坛,学生必须填写毕业年份。当我验证我的文件时,如注释所示,下面的行会产生错误,"在此上下文中,元素select中不允许使用文本。"我需要命名"年"在select标签中,所以我可以使用post数组来获取年份。如何修复此验证错误?

<form method="post">
    <div class = "mailInput"> 
        Name: <input type="text" name="name"> 
            <span class="error"> <?php echo $nameErr;?></span></div>
    <div class = "mailInput">
        Email: <input type="text" name="email"> 
            <span class="error"> <?php echo $emailErr;?></span> </div>
    <div class = "mailInput">
        Major: <input type="text" name="major"> 
            <span class="error"> <?php echo $majorErr;?></span> </div>
    <div class = "mailInput">
        Year: <select class="select" name="year"> // this line produces an error
            <option value="2017">2017</option>
            <option value="2018">2018</option>
            <option value="2019">2019</option>
            <option value="2020">2020</option>
        </select> 
    </div>
    <div class = "mailInput lastInput"> Gender:  
         <input type="radio" name="gender" value="Female">Female
         <input type="radio" name="gender" value="Male">Male
    </div>
    <span class="error"> <?php echo $genderErr;?></span>
    <div class = "submitButton"><input type="submit" name="submit" value="Join">
    </div>
    <div class="message"> <?php echo $submitMessage;?></div>
</form>
if(isset($_POST['submit']) && !empty($_POST['submit'])) {
    if (!empty($_POST["year"])) {
        $year = $_POST["year"];
    }
}

1 个答案:

答案 0 :(得分:1)

// this line produces an error会阻止您的代码正常工作,因为它不是在HTML代码中编写注释的正确方法。

正确的方法是使用<!-- -->,因此,在您的情况下,它应该是<!-- this line produces an error -->

//用于在PHP和JavaScript中编写注释。

/* */用于在CSS中编写注释。