javascript - 在跨度下拉菜单中显示验证错误

标签 javascript html getelementbyid

我正在尝试验证页面上的选择菜单。如果选择第一个选项(没有值的选项)并单击提交按钮,那么我想在菜单旁边显示一个跨度,或在菜单下显示该跨度。跨度应告诉用户选择一个选项(男性/女性)。我在做任何一件事情时都遇到麻烦。跨度在这里使用不正确吗?

关于可能重复的的说明:我阅读了一些类似于此问题的在Stack上发布的答案,但有些使用了JQuery,但我还没有学过。有一个答案使用了我尝试遵循的Javascript。它使用了带有参数和errorPlacement的函数,但是我在理解它时遇到了麻烦,并希望以一种更简单的方式来实现。我也看过其他问题,但我现在列出一个。
这是问题的链接:Problem with display error message in span element when validation
另外,如果可能的话,我特别想使用span标签,然后加上和附加。

这是我的代码:

的HTML

<form onsubmit="return Validate();">
<div id="div1">
          <select id="gender">
            <option value="">Select gender:</option>
            <option value="male">Male</option>
            <option value="female">Female</option>
          </select>
</div>
<input type = "submit" value="submit"/>
</form>

JAVASCRIPT
function Validate() {
var gender = document.getElementById("gender");
 if (gender.value == "") {

            var gendererror = document.createElement("span");
            gendererror.innerHTML = "please select a gender";
            return false;
        }
        return true;
    }

最佳答案

我想这就是你想要的。始终有一个错误消息div来为错误提供样式。

function Validate() {
var gender = document.getElementById("gender");
 if (gender.value == "") {
            if(!document.getElementById("error-msg").childNodes.length){
                var gendererror = document.createElement("span");
                gendererror.innerHTML = "please select a gender";
                document.getElementById("error-msg").appendChild(gendererror); 
            }
            return false;
        }else{
            return true
        }
}
<form onsubmit="return Validate();" action="#">
  <div id="error-msg"></div>
<div id="div1">
          <select id="gender">
            <option value="">Select gender:</option>
            <option value="male">Male</option>
            <option value="female">Female</option>
          </select>
</div>
<input type = "submit" value="submit"/>
</form>

<script type="text/javascript" src="./jsfile.js"></script>

关于javascript - 在跨度下拉菜单中显示验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60795402/

相关文章:

javascript - Youtube 弹出窗口在 windows 上不起作用,但在 mac 和 ios 上,绝望

javascript - :Skrollr not working on Chrome

html - 图标在 Bootstrap 中消失

javascript - 如何使用 JQUERY 下载 img?

javascript - PHP + Jquery 根据两个 Dropdown 更改 Textbox 的值

javascript - 带有 id 的 DOM 树元素会成为全局变量吗?

javascript - 创建一个隐藏div的函数

html - 如何检测自定义 <li> 项目符号上的鼠标悬停?

javascript:使用 getElementByID 填充多个 div

javascript - opensocial newFetchPeopleRequest 忽略参数