Если входное значение пуст, присвойте значение "пусто" с помощью Javascript

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

ОБНОВЛЕНИЕ: Извините, я не думаю, что я объяснил это слишком хорошо. Я не имею в виду текст заполнителя. Я имею в виду захваченное значение. Поэтому, если он пуст, захваченный val() для него должен быть "пустым", если он заполнен, захваченный val() для него должен состоять в том, что val()

Ответ 1

Если вы используете чистую JS, вы можете просто сделать это:

var input = document.getElementById('myInput');

if(input.value.length == 0)
    input.value = "Empty";

Вот демо: http://jsfiddle.net/nYtm8/

Ответ 2

Я предполагаю, что это то, что вы хотите...

Когда форма отправлена, проверьте, пусто ли это значение, и если да, отправьте value = пусто.

Если это так, вы можете сделать следующее с помощью jQuery.

$('form').submit(function(){
    var input = $('#test').val();
    if(input == ''){
         $('#test').val('empty');
    }    
});

HTML

<form> 
    <input id="test" type="text" />
</form>

http://jsfiddle.net/jasongennaro/NS6Ca/

Нажмите на свой курсор в поле, а затем нажмите Enter, чтобы увидеть, как форма представляет значение.

Ответ 3

Вы можете установить функцию обратного вызова для события onSubmit формы и проверить содержимое каждого поля. Если он ничего не содержит, вы можете заполнить его строкой "empty":

<form name="my_form" action="validate.php" onsubmit="check()">
    <input type="text" name="text1" />
    <input type="submit" value="submit" />
</form>

и в js:

function check() {
    if(document.forms["my_form"]["text1"].value == "")
        document.forms["my_form"]["text1"].value = "empty";
}

Ответ 4

Это можно сделать, используя HTML5 placeHolder или используя JavaScript. Оформить заказ этот пост.

Ответ 5

Вы можете сделать это:

var getValue  = function (input, defaultValue) {
    return input.value || defaultValue;
};

Ответ 6

Я думаю, что самый простой способ решить эту проблему, если вам нужно всего лишь в 1 или 2 ящиках, - это использовать функцию ввода "onsubmit" HTML.

Проверьте это, и я объясню, что он делает:

<input type="text" name="val" onsubmit="if(this == ''){$this.val('empty');}" />

Итак, мы создали текстовое поле HTML, присвоили ему имя ( "val" в этом случае), а затем мы добавили код onsubmit, , этот код проверяет, соответствует ли текущий поле ввода пуст, и если оно есть, то после отправки формы оно заполнит его словами пустым.

Обратите внимание на, этот код также должен отлично функционировать при использовании тега HTML "Placeholder", поскольку тег-заполнитель фактически не присваивает значение поля ввода.