我现在第一次学习javascript和xhtml,目前我遇到了一个我无法解决的问题。我认为这是一个相当简单的修复,我只是不需要知识才能做到这一点。这是javascript以及我是如何尝试从xhtml调用它的。
这是一个名为greet.js的javascript文件。
function tOD() {
timeOfDay = new Date
if (timeOfDay.getHours() < 5) {
alert("Either go to bed, or go back to bed " + document.form[0].inputname.value);
}
else if (timeOfDay.getHours() < 11) {
alert("Rise and shine " + document.form[0].inputname.value);
}
else if (timeOfDay.getHours() < 17) {
alert("Good afternoon " document.form[0].inputname.value);
}
else {
alert("And after a hard day at work you can relax at last, " + document.form[0].inputname.value);
}
}
这是我试图在我的xhtml中实现它的地方。
<script type="text/javascript" src="greet.js"></script>
<FORM NAME = input>
Please enter your name:
<input type= "text" name = "inputName"/>
<input Type= Button NAME= "greeting" VALUE="ok" onClick="greet()"/>
</FORM>
javascript的作用是,如果我拿走document.form [0] .inputname.value,当我按下按钮时,它会以正确的时间提醒。所以它必须是document.form [0] .inputname.value,这一定是错的,我只是不确定如何解决它。我也尝试使用元素[0]而不是形式[0]以及输入和元素[输入]所以我不确定它可能是什么......
谢谢,感谢所有帮助。
答案 0 :(得分:2)
您的输入
<input type="text" name="inputName"/>
是“camelCased”,意思是“name”中的N是大写的。您在JavaScript中使用小写名称属性
document.forms[0].inputname.value
inputname
应为inputName
。请注意,表单集合称为document.forms
而不是document.form
!
除此之外,您可能希望在输入中使用ID,因此您只需使用document.getElementById('inputid');
答案 1 :(得分:1)
你有一些错误,我已经为你制作了一个工作版本。请慢慢阅读并尝试查看错误并修复它们;)
您可以在此处查看:http://jsfiddle.net/3U5Qm/
答案 2 :(得分:0)
else if (timeOfDay.getHours() < 17) {
alert("Good afternoon " document.form[0].inputname.value);
你错过了一个+号
else if (timeOfDay.getHours() < 17) {
alert("Good afternoon " + document.form[0].inputname.value);