Javascript-从另一个输入字段中的日期返回输入字段中的日期
我正在创建的表单的一部分有两个字段,一个日期字段和一个日期字段。用户将在字段1(日期)中输入日期,字段2(日期)将自动填充该日期的星期几。我一直在尝试为我需要做的事情拼凑代码(自动填充一个字段,返回一周中的某一天,等等),但它似乎不适合我。我使用的是Javascript(阅读:无JQuery) 以下是我的HTML的相关部分:Javascript-从另一个输入字段中的日期返回输入字段中的日期,javascript,Javascript,我正在创建的表单的一部分有两个字段,一个日期字段和一个日期字段。用户将在字段1(日期)中输入日期,字段2(日期)将自动填充该日期的星期几。我一直在尝试为我需要做的事情拼凑代码(自动填充一个字段,返回一周中的某一天,等等),但它似乎不适合我。我使用的是Javascript(阅读:无JQuery) 以下是我的HTML的相关部分: <label> <span>input date</span> <input type="date" id="da
<label>
<span>input date</span>
<input type="date" id="date" onChange="getBegDay()">
</label>
<label>
<span>return day</span>
<input readonly type="text" id="day">
</label>
有三个错误。第一个
var工作日[0]=“星期日”代码>变量工作日[6]=“Staturday”代码>您应该删除var,如下所示:
工作日[0]=“周日”;工作日[1]=“周一”代码>
第二个错误:
新日期(y,m,d)
应该是新日期(y,m,d)
第三个错误:
new array(7)
应该是new array(7)
这是最好的方法,您可以将其用于所有输入类型的日期,通过参数传递值并将值返回给任何变量
var valueDate = document.getElementById("txtDate").value;
var dayOfWeek = getDayOfWeek(valueDate);
function getDayOfWeek(valueDateParam) {
var v = valueDateParam;
var n = v.split('-');
var y = n[0];
var m = n[1];
var d = n[2];
var g = new Date(valueDateParam);
var weekday = new Array(7);
weekday[0] = "Monday";
weekday[1] = "Tuesday";
weekday[2] = "Wednesday";
weekday[3] = "Thursday";
weekday[4] = "Friday";
weekday[5] = "Saturday";
weekday[6] = "Sunday";
var wd = weekday[g.getDay()];
return wd;
}
什么东西似乎不起作用呢?可读性、遵循逻辑的能力和调试它的能力在任何一天都会超过简洁性。如果使用临时变量,这个答案会更好。。所以工程师可以跟踪并调试它。天哪,谢谢!我知道必须是这样简单的事情。现在很好,我说得太快了。还有一个问题。我想我已经在数组中正确地标记了所有的日期,但是所有的日期都返回为所选日期之后的两天。例如,今天(2014年9月9日星期二)返回“星期四”,2014年9月10日星期三返回“星期五”。我意识到我可以更改数组中的数字,但我想知道未来会发生什么。@StateofDK var m=n[1];应为var m=n[1]-1;蛾子在0到11之间,而不是1到12之间
var getDate = function() {
document.getElementById("day").value = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"][new Date(Date.parse(event.target.value || event.srcElement.value)).getDay()];
}
var valueDate = document.getElementById("txtDate").value;
var dayOfWeek = getDayOfWeek(valueDate);
function getDayOfWeek(valueDateParam) {
var v = valueDateParam;
var n = v.split('-');
var y = n[0];
var m = n[1];
var d = n[2];
var g = new Date(valueDateParam);
var weekday = new Array(7);
weekday[0] = "Monday";
weekday[1] = "Tuesday";
weekday[2] = "Wednesday";
weekday[3] = "Thursday";
weekday[4] = "Friday";
weekday[5] = "Saturday";
weekday[6] = "Sunday";
var wd = weekday[g.getDay()];
return wd;
}