Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-需要帮助将用户输入从表单转换为HTML吗_Javascript_Jquery - Fatal编程技术网

Javascript-需要帮助将用户输入从表单转换为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

好的,我是一个初学者,我正在尝试将用户输入转换成一个程序,根据他们的输入计算用户出生的日期

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" 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();
风险值日期