Javascript无法访问表单中的值

时间:2012-03-18 15:24:12

标签: javascript forms xhtml

我现在第一次学习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]以及输入和元素[输入]所以我不确定它可能是什么......

谢谢,感谢所有帮助。

3 个答案:

答案 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);