Поля ввода текста Javascript, отображающие текст инструкции (заполнителя)

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

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

Существует ли для этого стандартная библиотека javascript? Я не могу найти никого!

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

Ответ 1

Вы можете использовать плагин водяных знаков в jquery.use эту ссылку.

Пример

 $(this).Watermark("your instructions");

Ответ 2

Для этого вам не нужен javascript.

HTML5:

<input type="text" id="email" name="email" placeholder="Enter your email address">

Это работает в современных браузерах. Если вы добавите modernizr.js на свою страницу, то он будет работать во всех браузерах.

Ответ 3

HTML

<input type="text" id="user" class="textbox default" value="Enter login name">
<input type="password" id="pass" class="textbox">

JQuery

$(function(){
  $('.textbox').focus(function(){
    if (this.value == this.defaultValue) {
        this.value = '';
        $(this).removeClass('default');
    };
  }).blur(function(){
    if (this.value == '') {
        this.value = this.defaultValue;
        $(this).addClass('default');
    };
  });​
});

демонстрация

Ответ 4

Сделайте вход прозрачным и поместите текст позади него. Проверьте значение onload, onblur, чтобы решить, должен ли текст быть видимым или нет. Сделайте его невидимым в фокусе.

Например: http://dorward.me.uk/tmp/label-work/example.html (вам просто нужно стилизовать ярлык и ввести разные цвета переднего плана)

Ответ 6

код заполнителя - имя

имя переменной есть,

var name=$("#con-name");
var nameval="Enter your name";



name.val(nameval);
name.focus(function(){  
     if (this.value == nameval ) { 
         this.value = ''; 
     }; 
    }).blur(function(){ 
         if (this.value == '') {    
         this.value = nameval;  
    };  
 });
 //submit to clear code
 $("#sub_con_page").click(function() {  
    if(name.val()==nameval) { 
       name.val(""); 
     } 
 });

DEMO LINK

Ответ 7

<input type="text" name="myText" value="Enter Name" style="color:gray" onfocus="this.value=''">