Javascript-需要帮助将用户输入从表单转换为HTML吗
好的,我是一个初学者,我正在尝试将用户输入转换成一个程序,根据他们的输入计算用户出生的日期 html代码的要点如下所示:Javascript-需要帮助将用户输入从表单转换为HTML吗,javascript,jquery,Javascript,Jquery,好的,我是一个初学者,我正在尝试将用户输入转换成一个程序,根据他们的输入计算用户出生的日期 html代码的要点如下所示: <h3>Please enter your date of birth in this format (MM/DD/YYYY)</h3> <form id = "dob-question"> <input type="text" name="Date of Birth" id="dob-input
<h3>Please enter your date of birth in this format (MM/DD/YYYY)</h3>
<form id = "dob-question">
<input type="text" name="Date of Birth" id="dob-input" value="01/31/1986">
</input>
<button type="button" id="submit-button">Submit</button>
</form>
<div id="answer"></div>
请用此格式输入您的出生日期(MM/DD/YYYY)
提交
还有Javascript:
<script>
function writesDay(d) {
document.getElementById("answer").innerHTML = "You were born on a " + d;
}
var date = new Date();
var dobInput = document.getElementById("dob-input").value;
var splitDob = dobInput.split("/");
var month = parseInt(splitDob[0] - 1);
var day = parseInt(splitDob[1]);
var year = parseInt(splitDob[2]);
date.setFullYear(year, month, day);
var dayOfWeek = "";
switch(date.getDay()) {
case 0:
dayOfWeek = "Sunday";
break;
case 1:
dayOfWeek = "Monday";
break;
case 2:
dayOfWeek = "Tuesday";
break;
case 3:
dayOfWeek = "Wednesday";
break;
case 4:
dayOfWeek = "Thursday";
break;
case 5:
dayOfWeek = "Friday";
break;
case 6:
dayOfWeek = "Saturday";
break;
}
document.getElementById("submit-button").addEventListener("click", writesDay(dayOfWeek));
</script>
函数writesDay(d){
document.getElementById(“answer”).innerHTML=“你出生在”+d;
}
变量日期=新日期();
var dobInput=document.getElementById(“dob输入”).value;
var splitDob=dobInput.split(“/”);
变量月=parseInt(splitDob[0]-1);
var-day=parseInt(splitDob[1]);
var year=parseInt(splitDob[2]);
date.setFullYear(年、月、日);
var dayOfWeek=“”;
开关(date.getDay()){
案例0:
dayOfWeek=“星期日”;
打破
案例1:
dayOfWeek=“星期一”;
打破
案例2:
dayOfWeek=“星期二”;
打破
案例3:
dayOfWeek=“星期三”;
打破
案例4:
dayOfWeek=“星期四”;
打破
案例5:
dayOfWeek=“星期五”;
打破
案例6:
dayOfWeek=“星期六”;
打破
}
document.getElementById(“提交按钮”).addEventListener(“单击”,writesDay(dayOfWeek));
我的第一个问题是:在点击submit按钮之前,代码已经运行函数并从默认输入值(1986年1月31日)写出日期。我不希望在单击提交按钮之前显示此内容。我还希望它根据用户输入的内容进行更改,而现在它不这样做。事实上,submit按钮真的没有任何作用,我也不知道为什么。谢谢你的帮助 第一个问题是
addEventListener
的第二个参数必须是一个函数。您正在立即调用函数,而不是传递对函数的引用
document.getElementById("submit-button").addEventListener("click", function() {
writesDay(dayOfWeek);
});
下一个问题是,当用户单击按钮时,必须计算dayOfWeek
。您是在页面最初加载时计算它的,因此它不会获得用户对表单字段的输入。因此,所有这些代码都需要在该函数中:
函数writesDay(d){
document.getElementById(“answer”).innerHTML=“你出生在”+d;
}
document.getElementById(“提交按钮”).addEventListener(“单击”,函数)(){
变量日期=新日期();
var dobInput=document.getElementById(“dob输入”).value;
var splitDob=dobInput.split(“/”);
变量月=parseInt(splitDob[0]-1);
var-day=parseInt(splitDob[1]);
var year=parseInt(splitDob[2]);
date.setFullYear(年、月、日);
var dayOfWeek=“”;
开关(date.getDay()){
案例0:
dayOfWeek=“星期日”;
打破
案例1:
dayOfWeek=“星期一”;
打破
案例2:
dayOfWeek=“星期二”;
打破
案例3:
dayOfWeek=“星期三”;
打破
案例4:
dayOfWeek=“星期四”;
打破
案例5:
dayOfWeek=“星期五”;
打破
案例6:
dayOfWeek=“星期六”;
打破
}
写作日(星期五);
});代码>
请用此格式输入您的出生日期(MM/DD/YYYY)
提交
第一个问题是addEventListener
的第二个参数必须是一个函数。您正在立即调用函数,而不是传递对函数的引用
document.getElementById("submit-button").addEventListener("click", function() {
writesDay(dayOfWeek);
});
下一个问题是,当用户单击按钮时,必须计算dayOfWeek
。您是在页面最初加载时计算它的,因此它不会获得用户对表单字段的输入。因此,所有这些代码都需要在该函数中:
函数writesDay(d){
document.getElementById(“answer”).innerHTML=“你出生在”+d;
}
document.getElementById(“提交按钮”).addEventListener(“单击”,函数)(){
变量日期=新日期();
var dobInput=document.getElementById(“dob输入”).value;
var splitDob=dobInput.split(“/”);
变量月=parseInt(splitDob[0]-1);
var-day=parseInt(splitDob[1]);
var year=parseInt(splitDob[2]);
date.setFullYear(年、月、日);
var dayOfWeek=“”;
开关(date.getDay()){
案例0:
dayOfWeek=“星期日”;
打破
案例1:
dayOfWeek=“星期一”;
打破
案例2:
dayOfWeek=“星期二”;
打破
案例3:
dayOfWeek=“星期三”;
打破
案例4:
dayOfWeek=“星期四”;
打破
案例5:
dayOfWeek=“星期五”;
打破
案例6:
dayOfWeek=“星期六”;
打破
}
写作日(星期五);
});代码>
请用此格式输入您的出生日期(MM/DD/YYYY)
提交
您只将WriteDay代码包装在函数中,其余代码将在加载后立即执行。单击按钮时,还需要执行获取日期等的代码
函数writesDay(d){
document.getElementById(“answer”).innerHTML=“你出生在”+d;
}
函数getDayName(日期){
var dayOfWeek=“”;
开关(date.getDay()){
案例0:
dayOfWeek=“星期日”;
打破
案例1:
dayOfWeek=“星期一”;
打破
案例2:
dayOfWeek=“星期二”;
打破
案例3:
dayOfWeek=“星期三”;
打破
案例4:
dayOfWeek=“星期四”;
打破
案例5:
dayOfWeek=“星期五”;
打破
案例6:
dayOfWeek=“星期六”;
打破
}
星期五返回日;
}
函数getDateFromArray(splitDob){
变量日期=新日期();
变量月=parseInt(splitDob[0]-1);
var-day=parseInt(splitDob[1]);
var year=parseInt(splitDob[2]);
date.setFullYear(年、月、日);
返回日期;
}
函数getSplitDob(){
var dobInput=document.getElementById(“dob输入”).value;
var splitDob=dobInput.split(“/”);
返回splitDob;
}
函数updateDay(){
var splitDob=getSplitDob();
风险值日期