в целом, нужно было решить задачу - что бы по нажатию на кнопку содержимое инпута и текстовой области добавлялось в список. я почитала книжку и написала вот такое



к кнопке добавила onclick="addf()". но ничего не заработало :D
эм, вот собственно ошибка.

заранее спасибо за помощь)

решение найдено

@темы: Java script

Комментарии
25.10.2014 в 17:03

Миру - мир. А Вам - пломбир!
Без разметки не понятно. Что такое "text1"?
Ошибка явно говорит о том, что у этого узла нет параметра value.
25.10.2014 в 17:16

Скептичный циник,
но у них же вроде должны быть value, нет? в смысле когда вводишь в текстовом поле что-то, value изменяется на его содержимое.

25.10.2014 в 17:30

Миру - мир. А Вам - пломбир!
1. js должен быть после разметки (например, перед закрытием тега body).
2. Не используйте write(). Вообще. Вместо него: innerHTML / appendChild.

Ваш пример становится таким (просто заменил write на конкатенацию с innerHTML) и всё работает:

25.10.2014 в 17:33

Миру - мир. А Вам - пломбир!
Добавлю хороших практик.

1. Вместо onclick используйте подписку на события иначе при большом количестве или при множественных подписках на одно событие всё может превратиться в кашу:

Прочесть больше.

2. Используйте innerHTML / createElement / appendChild / ... вместо write ибо он может вызывать проблемы в разных браузерах:

25.10.2014 в 17:47

Скептичный циник, спасибо! и за инфу особенно.
только теперь пишет что функция не определена. не подскажите, от чего это может быть?

25.10.2014 в 18:19

Миру - мир. А Вам - пломбир!
Функция должна быть определена в момент её использования. Теоретически, ваш код должен работать.
Где проверяете? Тестил код из коммента выше в FireFox/Chrome/Safari – всё норм. В он-лайн редакторах – не всегда и зависит от реализации.

Пример: jsfiddle.net/6a4r27Lc/1/
Обратите внимание на селектор слева:
Если в head/body без враппера, то всё ок.
Если onDomReady/onDomLoad, то ошибка – при рендере разметки транслятор не может найти функцию и выкидывает ошибку.

Результирующий совет: используйте addEventListener (или attachEvent для старых IE).
25.10.2014 в 18:27

Скептичный циник, открываю файл в хроме и через режим разработчика. в общем, нужно разбираться) спасибо большое за помощь, есть теперь куда двигаться)
25.10.2014 в 18:30

Миру - мир. А Вам - пломбир!
Не забудьте проверить код, который копируете (: Дайри заботится об xss/xsrf и немного корявит код – меняет латинские "c" на кириллические "с". Это отлично видно в редакторе с подсветкой кода.
Такой код, конечно, не будет работать (:

25.10.2014 в 18:57

Скептичный циник, нет, это я поправила)