Javascript не имеет доступа к значению в форме - PullRequest
0 голосов
/ 18 марта 2012

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

Это в файле 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] вместо form [0], а также input и element [input], поэтому я не уверен, что это может быть ...

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

Ответы [ 3 ]

2 голосов
/ 18 марта 2012

Ваш ввод

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

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

document.forms[0].inputname.value

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

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

1 голос
/ 18 марта 2012

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

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

0 голосов
/ 18 марта 2012
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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...