好的,所以我已经阅读了一些教程,以及一本关于 HTML5 的书,其中谈到了很多关于表单控件以及它们发生了多大变化的内容。因此,我尝试使用此示例代码测试代码。我想要做的是将表单数据(特别是某人想要倒计时的事件名称的文本字段和事件日期和时间的日期时间控件)发送到 JavaScript 的另一个 HTML5 文件要解析的文件。问题?数据未发送到指定为表单操作的文件!
这是 HTML 文件中的代码,其中包含表单 (countdown_form.html):
<!DOCTYPE html>
<html>
<head>
<title>Collecting countdown data</title>
</head>
<body>
<form method="post" action="countdown.html">
<table border="1" cellpadding="5">
<tr>
<td>Name of event to count down to</td>
<td><input name="event" type="text"></td>
</tr>
<tr>
<td>Date of event to count down to</td>
<td><input name="date" type="datetime"></td>
</tr>
</table>
<input name="Submit" type="submit">
</form>
</body>
</html>
这是我试图将表单数据发送到 (countdown.html) 的 HTML 文件中的代码:
<!DOCTYPE html>
<html>
<head>
<title>
<script type="text/javascript">
document.write("Countdown to " + input.text);
</script>
</title>
</head>
<body>
<table border="1" cellpadding="5">
<tr>
<td>
<script type="text/javascript" language="JavaScript">
<!--
document.write("Time left until " + input.text);
//-->
</script>
</td>
</tr>
<tr>
<td>
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
dateFuture = new Date(input.date);
function GetCount(){
dateNow = new Date(); //grab current date
amount = dateFuture.getTime() - dateNow.getTime(); //calc milliseconds between dates
delete dateNow;
// time is already past
if(amount < 0){
document.getElementById('countbox').innerHTML="Now!";
}
// date is still good
else{
days=0;hours=0;mins=0;secs=0;out="";
amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs
days=Math.floor(amount/86400);//days
amount=amount%86400;
hours=Math.floor(amount/3600);//hours
amount=amount%3600;
mins=Math.floor(amount/60);//minutes
amount=amount%60;
secs=Math.floor(amount);//seconds
if(days != 0){out += days +" day"+((days!=1)?"s":"")+", ";}
if(days != 0 || hours != 0){out += hours +" hour"+((hours!=1)?"s":"")+", ";}
if(days != 0 || hours != 0 || mins != 0){out += mins +" minute"+((mins!=1)?"s":"")+", ";}
out += secs +" seconds";
document.getElementById('countbox').innerHTML=out;
setTimeout("GetCount()", 1000);
}
}
window.onload=function(){
GetCount();
}; //call when everything has loaded
//-->
</script>
<div id="countbox"></div>
</td>
</tr>
</table>
</body>
</html>
我想知道的是:
- 一个 HTML 文档直接将表单数据发送到另一个 HTML 文档是否合法,
- 如果合法,为什么 <input> 标签中的数据没有被 action 文档中的 input.text 和 input.datetime JavaScript 变量解析?
还,
- 在 <title> 标签中包含 JavaScript 代码是否合法?
- 如果合法,为什么谷歌浏览器不解析代码?
如果这两件事都不合法,您将如何使用表单数据:
- 文档的标题。
- 作为 JavaScript 解析的数据?