2010-09-01 2 views
0

Я - новичок в JavaScript. Я хочу добавить тот же эффект, что и в текстовых полях этой веб-страницы на моей собственной странице ... Может ли кто-нибудь помочь мне в том, как это сделать или где его изучить.Как использовать JavaScript для создания маски текстового поля?

Я хочу, чтобы мои текстовые поля, чтобы показать, что должны быть там написано, но это изменится, как только я что-то в нем писать ..

Другое дело, что небольшое всплывающее окно блока появляется при нажатии на текстовое поле, которое описывает, что и как писать в нем ... например, пароль должен быть буквенным числом ... или длиной более 6 символов.

+0

Вы не ссылки на веб-страницы. –

+0

@Pekka - http://stackoverflow.com/questions/3616227/javascript-help :) – Quentin

+0

@David aaaah, буквально * это * веб-страница! Понимаю. –

ответ

0

Посмотрите на JQuery:

$('#textarea').onKeyup(
    function(){ 
     $('div#mydiv').innerHTML($(this).val()); 
    } 
); 

Вот начало. :)

+0

Какова задача этого innerHTML, пожалуйста, объясните мне ... – Alivia

+0

innerHTML позволяет вам получить или изменить внутренний HTML-элемент. Итак, если у вас есть div с «Hello World» в нем, то выполняется «alert ($ (« div # mydiv »). InnerHTML());' будет предупреждать «Hello World». Аналогично, если вы даете строку, вы можете изменить внутренний HTML-элемент. поэтому делаем '$ ('div # mydiv'). innerHTML ('Goodbye Universe');' изменит «мир привет» на «Goodbye Universe». Ввод $ (this) .val() вместо текста вернет текущее значение текстового поля с идентификатором «#textarea» и получит функциональность «как вы набираете», которую вы ищете. –

+0

отредактировал мой оригинальный ответ ... имел полуточку в неправильном месте. –

2

Если вы хотите сделать это в доступной форме (и вы должны):

Если JS доступен, позиционировать прозрачного вход над этикеткой внутри контейнера и установите переключатель в прозрачность входа на основе его значения при времени загрузки документа и всякий раз, когда фокус входит в лист элементов.

Я создал .

Что касается второй части вопроса. Это очень похоже. Просто введите другую метку рядом с входом и переключите ее видимость, когда фокус входит или уходит, игнорируя значение ввода. Я бы не потрудился с этим, хотя предварительное уведомление о требованиях приятно!

0

HTML поле ввода

<input type="text" name="name" id="name" value="" /> 

Javascript

function hint() { 
    var elem = document.getElementById('name'); // get element 

    elem.value = "Enter Name"; // fill element with value 

    elem.onfocus = function() { // if the user focuses 
    if (elem.value === "Enter Name") { // if there is default text 
     elem.value = ""; // clear it 
    } 
    } 

    elem.onblur = function() { // if user removes focus on field 
    if (elem.value === "") { // if the field is empty 
     elem.value= "Enter Name"; // fill in a default value 
    } 
    } 
} 

window.onload = hint; // call the function when the page has loaded 
+0

hii, Это действительно полезно .... – Alivia

+0

@Alivia, пожалуйста, отметьте ответ, если он сработает для вас. –

+0

Этот подход имеет некоторые проблемы с доступностью.Если JS недоступен, пользователь не получает никакой информации о том, что они должны вставить в него. Если фокус прибывает на элемент, тогда эта информация исчезает ... и читатели экрана не начинают читать элементы, пока не окажут фокус. Лучше оставить значения для значений и меток для меток. – Quentin

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