2012-03-18 1 views
0

Я изучаю javascript и xhtml в первый раз на данный момент, и у меня в настоящее время есть проблема, которую я не смог решить. Я думаю, что это довольно простое решение, мне просто не нужно знать, чтобы это можно было сделать. Вот javascript и как я пытаюсь назвать его из xhtml.Javascript не обращается к значению в форме

Это файл javascript greet.js.

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], а также вход и элемент [input], поэтому я не уверен, что это может быть ...

Спасибо, вся помощь приветствуется.

ответ

1

У вас есть какая-то ошибка, я сделал рабочую версию для вас. Пожалуйста, прочитайте это медленно и попытаться увидеть свои ошибки и исправить их;)

Вы можете увидеть здесь: http://jsfiddle.net/3U5Qm/

+0

А, спасибо большое, что было очень полезно, я вижу, где я сейчас ошибся. – DanMc

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); 
+0

он также должен быть document.forms [0] не document.form [0] – gastonfartek

2

Ваш вклад

<input type="text" name="inputName"/> 

является "camelCased", что означает, что N в 'имя' в верхнем регистре. Вы используете строчную имя атрибута в вашем JavaScript

document.forms[0].inputname.value 

inputname должен быть inputName. Обратите внимание, что коллекция форм называется document.forms, а не document.form!

Кроме этого, вы можете использовать идентификатор на вводе данных, так что вы можете просто получить к нему доступ с помощью document.getElementById('inputid');

+0

Спасибо большое для этого :) – DanMc

Смежные вопросы