Javascript-从另一个输入字段中的日期返回输入字段中的日期

Javascript-从另一个输入字段中的日期返回输入字段中的日期,javascript,Javascript,我正在创建的表单的一部分有两个字段,一个日期字段和一个日期字段。用户将在字段1(日期)中输入日期,字段2(日期)将自动填充该日期的星期几。我一直在尝试为我需要做的事情拼凑代码(自动填充一个字段,返回一周中的某一天,等等),但它似乎不适合我。我使用的是Javascript(阅读:无JQuery) 以下是我的HTML的相关部分: <label> <span>input date</span> <input type="date" id="da

我正在创建的表单的一部分有两个字段,一个日期字段和一个日期字段。用户将在字段1(日期)中输入日期,字段2(日期)将自动填充该日期的星期几。我一直在尝试为我需要做的事情拼凑代码(自动填充一个字段,返回一周中的某一天,等等),但它似乎不适合我。我使用的是Javascript(阅读:无JQuery)

以下是我的HTML的相关部分:

<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;
}