Не работает getElementById()
Что здесь не работает, не могу понять!
<html> <head> <meta charset="UTF-8"> <title>Форма</title> <script> var email=document.getElementById("email").value; function blur() { if (email=="") { email="Email"; } } function focus() { if(email=="Email") { email=""; } } document.getElementById("email").onblur=blur(); document.getElementById("email").onfocus=focus(); </script> </head> <body> <form> <input type="text" value="Email" id="email"> <input type="text" value="Имя" id="name"> </form> </body> </html> |
|
<input type="text" value="Email" id="email">
<input type="text" value="Имя" id="name"> - вот это нужно написать до скрипта. email=""; - по-моему так писать нельзя, нужно писать: email.value=""; |
В коде вы на событие навесили не функцию, а её вызов. Пишите название функции без скобок.
И скрипт нужно разместить в конце страницы, чтобы всё работало. Или завернуть весь этот код в window.onload = function(){ ... }, если Вам принципиально размещение скрипта в head страницы. |
Цитата:
Даже если выполнить все эти условия, код толком работать не будет. 1. Переменная email получает значение из input email один-единственный раз - при ее объявлении в начале кода. Если вы хотите, чтобы она обновлялась, надо вставлять ее внутрь функций. 2. Функция сработала, переменная email поменяла значение, и что? В инпутах что было, то и останется. PS: и вообще, смысл этих манипуляций не очень понятен |
Ну да. Я просто не заметил, что в переменную записывается значение свойства value импута email, хотя нужно было бы добавить в него сам объект импута, а в функциях blur и focus проводить манипуляции уже с его свойством value.
<html> <head> <meta charset="UTF-8"> <title>Форма</title> <script> window.onload = function() { var email=document.getElementById("email"); function blur() { if (email.value=="") { email.value="Email"; } } function focus() { if(email.value=="Email") { email.value=""; } } document.getElementById("email").onblur=blur; document.getElementById("email").onfocus=focus; } </script> </head> <body> <form> <input type="text" value="Email" id="email"> <input type="text" value="Имя" id="name"> <input type="button" value="go" onclick="alert(email.value)"> </form> </body> </html> |
Часовой пояс GMT +3, время: 11:57. |