Текст в поле HTML исчезает при нажатии?

Я могу легко создать поле ввода html, в котором уже есть текст. Но когда пользователь нажимает на поле ввода, текст не исчезает, а остается там. Затем пользователь должен вручную удалить текст для ввода. Как я могу создать поле ввода, где, когда пользователь нажимает на поле ввода, текст исчезает?

6 ответов

Что вы хотите сделать, это использовать атрибут HTML5 placeholder который позволяет вам установить значение по умолчанию для вашего поля ввода:

<input type="text" name="inputBox" placeholder="enter your text here">

Это должно достичь того, что вы ищете. Тем не менее, будьте осторожны, так как атрибут placeholder не поддерживается в Internet Explorer 9 и более ранних версиях.

Для этого вы можете использовать два события onfocus и onblur:

<input type="text" name="theName" value="DefaultValue"
  onblur="if(this.value==''){ this.value='DefaultValue'; this.style.color='#BBB';}"
  onfocus="if(this.value=='DefaultValue'){ this.value=''; this.style.color='#000';}"
  style="color:#BBB;" />

Используйте атрибут заполнителя. Текст исчезает, когда пользователь начинает печатать. Это пример проекта, над которым я работаю:

<div class="" id="search-form">
    <input type="text" name="" value="" class="form-control" placeholder="Search..." >
</div>

Это простое, я думаю, решение, которое должно решить все ваши проблемы:

<input name="myvalue" id="valueText" type="text" value="ENTER VALUE">

Это ваша кнопка отправки:

<input type="submit" id= "submitBtn" value="Submit">

затем поместите этот маленький jQuery в файл js:

//this will submit only if the value is not default
$("#submitBtn").click(function () {
    if ($("#valueText").val() === "ENTER VALUE")
    {
        alert("please insert a valid value");
        return false;
    }
});

//this will put default value if the field is empty
$("#valueText").blur(function () {
    if(this.value == ''){ 
        this.value = 'ENTER VALUE';
    }
}); 

 //this will empty the field is the value is the default one
 $("#valueText").focus(function () {
    if (this.value == 'ENTER VALUE') {
        this.value = ''; 
    }
});

И это работает также в старых браузерах. Кроме того, он может быть легко преобразован в обычный JavaScript, если вам нужно.

Попробуй это.

<label for="user">user</label>
<input type="text" name="user" 
onfocus="if(this.value==this.defaultValue)this.value=''"    
onblur="if(this.value=='')this.value=this.defaultValue" 
value="username" maxlength="19" />

надеюсь это поможет.

Просто как это: <input type="text" name="email" value="e-mail..." onFocus="this.value=''">

Как насчет этого?

<input name="myvalue" type="text" onfocus="if(this.value=='enter value')this.value='';" onblur="if(this.value=='')this.value='enter value';">

Это сбрасывается при первом фокусировке, но затем не сбрасывается при последующих фокусах после того, как пользователь вводит их значение, а если оставить пустым, восстанавливается заданное значение.

Другие вопросы по тегам