【发布时间】:2018-06-26 08:17:34
【问题描述】:
我的应用程序几乎完成了,当用户没有从我的两个下拉菜单中选择一个项目时,我只是无法合并 innerHTML 语句。我目前知道如何使用警报来执行此操作,但我希望在用户不进行选择时消息显示在页面本身上。我是 JS 的初学者-我知道这会将 innerHTML 与 if/else 语句结合起来,但是我在找到完成此操作的正确方法时遇到了一些麻烦。
目标:如果用户在单击提交按钮时未从下拉菜单中选择眼睛颜色,innerHTML 消息应显示“请选择眼睛颜色”。
否则,如果, 如果用户在单击提交按钮时未从下拉菜单中选择肤色,innerHTML 消息应显示“请选择肤色”。
否则,如果用户在单击提交按钮时未从下拉菜单中选择眼睛颜色和肤色,innerHTMl 消息应显示“请选择眼睛颜色和肤色”。
<h3 class="display-4" style="font-size: 1.5rem;">What is your eye color</h3>
<div class="dropdown">
<div class="input-group justify-content-center">
<div class="input-group-btn">
<button class="btn btn-info btn-md dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color: #588c7e;">
Eye Color
</button>
<div class="dropdown-menu" onchange="selectMenu1" aria-labelledby="dropdownMenuButton" id="eyeColor">
<a class="dropdown-item" href="#" data="brown" ><img src="img/brown_eye.jpg" class="rounded-circle"> Brown</a>
<a class="dropdown-item" href="#" data="blue" ><img src="img/blue_eye.jpg" class="rounded-circle" > Blue</a>
<a class="dropdown-item" href="#" data="green" ><img src="img/green_eye.jpg" class="rounded-circle" > Green</a>
<a class="dropdown-item" href="#" data="hazel" ><img src="img/hazel_eye.jpg" class="rounded-circle" > Hazel</a>
</div>
</div>
</div>
</div>
<!--Drop down Item 2-->
<h3 class="display-4" style="font-size: 1.5rem;"> What is your skin tone</h3>
<div id="menu2" class="dropdown">
<div class="input-group justify-content-center">
<div class="input-group-btn">
<button class="btn btn-info btn-md dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color: #588c7e;">
Skin Tone
</button>
<div class="dropdown-menu" onchange="selectMenu2" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" data="fair"><img src="img/fair.jpg" class="rounded-circle" > Fair</a>
<a class="dropdown-item" href="#" data="light"><img src="img/light.jpg" class="rounded-circle" > Light</a>
<a class="dropdown-item" href="#" data="medium"><img src="img/medium.jpg" class="rounded-circle" > Medium</a>
<a class="dropdown-item" href="#" data="bronze"><img src="img/bronze_dark.jpg" class="rounded-circle" > Bronze</a>
<a class="dropdown-item" href="#" data="tan"><img src="img/tan.jpg" class="rounded-circle" > Tan</a>
<a class="dropdown-item" href="#" data="rich"><img src="img/dark.jpg" class="rounded-circle" > Rich</a>
</div>
</div>
</div>
</div>
<br>
<!--Result Button-->
<button type="button" class="btn btn-info btn-lg active" title ="Submit" style="background-color: #3e4444;" onclick="validate()" id="demo"><i class="fas fa-arrow-circle-right fa-lg"></i></button>
<script>
function validate() {
var eyeColor;
var skinTone;
if(!eyeColor){
document.getElementById("eyeColor").innerHTML = "Please select an eye color";
} else if (!skinTone){
document.getElementById("skinTone").innerHTML = "Please select a skin tone";
}
}
</script>
【问题讨论】:
-
如果用户没有选择眼睛颜色或肤色怎么办?
-
如果你能在心里找到使用原生 HTML 选择和 HTML5 表单验证的方法,那么所有的工作都会为你完成。
标签: javascript jquery html bootstrap-4