Javascript 用户输入后没有警报输出
我正在尝试获取用户的出生信息,并根据他们单击确认按钮后的出生日期为他们命名。该程序还检查用户是否输入了有效的日期和月份,但在填写输入后,我没有得到任何输出 这是我的Html代码Javascript 用户输入后没有警报输出,javascript,html,Javascript,Html,我正在尝试获取用户的出生信息,并根据他们单击确认按钮后的出生日期为他们命名。该程序还检查用户是否输入了有效的日期和月份,但在填写输入后,我没有得到任何输出 这是我的Html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content=&q
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="CSS/bootstrap.css" media="screen" />
<link rel="stylesheet" type="text/css" href="CS S/styles.css" media="screen" />
<title>Akan names</title>
</head>
<body>
<div class="container">
<div class="jumbotron">
<h1>Akan Name</h1>
<div class="card">
<div class="card-body">
<label for="usr">Date</label>
<input type="text" class="form-control" id="date">
</div>
<div class="card">
<div class="card-body">
<label for="usr">Month</label>
<input type="text" class="form-control" id="month">
</div>
<div class="card">
<div class="card-body">
<label for="usr">Year</label>
<input type="text" class="form-control" id="year">
</div>
<div class="card">
<div class="card-body">
<label for="usr">Gender</label>
<input type="text" class="form-control" id="gender">
</div>
<div class="card">
<div class="card-body">
<button onclick="calc()" id="btnConfirm" type="button">Check</button>
</div>
</div>
<script src = "JS/script.js"></script>
</body>
</html>
阿肯名字
阿肯名字
日期
月
年
性别
检查
以下是我的Js代码:
var date;
var month;
var year;
var gender;
var name;
function validate() {
date = document.getElementById('date').value;
month = document.getElementById('month').value;
year = document.getElementById('year').value;
gender = document.getElementById('gender').value;
if (date <= 0 || date > 31) {
alert("Enter a valid date");
};
if (month <= 0 || month > 12) {
alert("Enter a valid month");
};
}
function calc() {
validate();
date = document.getElementById('date').value;
month = document.getElementById('month').value;
year = document.getElementById('year').value;
gender = document.getElementById('gender').value;
var cc = year.charAt(0) + year.charAt(1);
var yy = year.charAt(2) + year.charAt(3);
var day = (((cc / 4) - 2 * cc - 1) + ((5 * yy / 4)) + ((26 * (month + 1) / 10)) + date) % 7;
if (day == 1 && gender == "male") {
alert("Sunday : Kwasi");
} else if (day == 2 && gender == "male") {
alert("Monday : Kwadwo");
} else if (day == 3 && gender == "male") {
alert("Tuesday : Kwabena");
} else if (day == 4 && gender == "male") {
alert("Wednesday : Kwaku");
} else if (day == 5 && gender == "male") {
alert("Thursday : Yaw");
} else if (day == 6 && gender == "male") {
alert("Friday : Kofi");
} else if (day == 7 && gender == "male") {
alert("Saturday : Kwame");
} else if (day == 1 && gender == "female") {
alert("Sunday : Akosua");
} else if (day == 2 && gender == "female") {
alert("Monday : Adwoa");
} else if (day == 3 && gender == "female") {
alert("Tuesday : Abenaa");
} else if (day == 4 && gender == "female") {
alert("Wednesday : Akua");
} else if (day == 5 && gender == "female") {
alert("Thursday : Yaa");
} else if (day == 6 && gender == "female") {
alert("Friday : Afua");
} else if (day == 7 && gender == "female") {
alert("Saturday : Ama");
};
}
var日期;
var月;
var年;
变量性别;
变量名;
函数验证(){
日期=document.getElementById('date')。值;
月份=document.getElementById('month')。值;
年份=document.getElementById('year')。值;
性别=document.getElementById('gender')。值;
如果(日期31){
警报(“输入有效日期”);
};
如果(第12个月){
警报(“输入有效月份”);
};
}
函数计算(){
验证();
日期=document.getElementById('date')。值;
月份=document.getElementById('month')。值;
年份=document.getElementById('year')。值;
性别=document.getElementById('gender')。值;
var cc=年特征(0)+年特征(1);
变量yy=年.字符(2)+年.字符(3);
风险值日=((cc/4)-2*cc-1)+((5*yy/4))+((26*(月+1)/10))+日期)%7;
如果(日期=1,性别=1男性){
警报(“星期日:克瓦西”);
}否则,如果(日期==2,性别=“男性”){
警报(“星期一:夸德沃”);
}否则,如果(日期==3,性别==“男性”){
警报(“星期二:夸贝纳”);
}否则,如果(第4天和性别=“男性”){
警报(“星期三:夸库”);
}否则,如果(日期==5,性别=“男性”){
警报(“星期四:偏航”);
}否则,如果(第6天和性别=“男性”){
警报(“星期五:科菲”);
}否则,如果(第7天和性别=“男性”){
警报(“星期六:夸梅”);
}否则,如果(日期=1,性别=1,女性){
警报(“星期日:阿克苏”);
}否则,如果(日=2,性别=1,女性){
警报(“星期一:Adwoa”);
}否则,如果(日=3,性别=1,女性){
警报(“星期二:阿贝纳”);
}否则,如果(第4天和性别=“女性”){
警报(“星期三:阿夸”);
}否则,如果(日期==5,性别=“女性”){
警报(“星期四:Yaa”);
}否则,如果(第6天和性别=“女性”){
警报(“星期五:Afua”);
}否则,如果(第7天和性别=“女性”){
警报(“星期六:Ama”);
};
}
这是因为日
值不圆,因此它与您列出的任何值都不匹配。您可以通过一个简单的console.log(day)
来发现它。
使用Math.floor()
可以达到以下目的:
var日期;
var月;
var年;
变量性别;
变量名;
函数验证(){
日期=document.getElementById('date')。值;
月份=document.getElementById('month')。值;
年份=document.getElementById('year')。值;
性别=document.getElementById('gender')。值;
如果(日期31){
警报(“输入有效日期”);
};
如果(第12个月){
警报(“输入有效月份”);
};
}
函数计算(){
验证();
日期=document.getElementById('date')。值;
月份=document.getElementById('month')。值;
年份=document.getElementById('year')。值;
性别=document.getElementById('gender')。值;
var cc=年特征(0)+年特征(1);
变量yy=年.字符(2)+年.字符(3);
var day=数学楼层((((()((((())((())((5)(yy)))()(26 40;
控制台日志(天);
如果(日期=1,性别=1男性){
警报(“星期日:克瓦西”);
}否则,如果(日期==2,性别=“男性”){
警报(“星期一:夸德沃”);
}否则,如果(日期==3,性别==“男性”){
警报(“星期二:夸贝纳”);
}否则,如果(第4天和性别=“男性”){
警报(“星期三:夸库”);
}否则,如果(日期==5,性别=“男性”){
警报(“星期四:偏航”);
}否则,如果(第6天和性别=“男性”){
警报(“星期五:科菲”);
}否则,如果(第7天和性别=“男性”){
警报(“星期六:夸梅”);
}否则,如果(日期=1,性别=1,女性){
警报(“星期日:阿克苏”);
}否则,如果(日=2,性别=1,女性){
警报(“星期一:Adwoa”);
}否则,如果(日=3,性别=1,女性){
警报(“星期二:阿贝纳”);
}否则,如果(第4天和性别=“女性”){
警报(“星期三:阿夸”);
}否则,如果(日期==5,性别=“女性”){
警报(“星期四:Yaa”);
}否则,如果(第6天和性别=“女性”){
警报(“星期五:Afua”);
}否则,如果(第7天和性别=“女性”){
警报(“星期六:Ama”);
};
}
阿肯名字
日期
月
年
性别