Если входное значение пустое, присвойте значение «пусто» с помощью Javascript - PullRequest
14 голосов
/ 19 июля 2011

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

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

Ответы [ 6 ]

24 голосов
/ 19 июля 2011

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

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

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

Вот демоверсия: http://jsfiddle.net/nYtm8/

4 голосов
/ 19 июля 2011

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

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

ЕслиТаким образом, вы можете сделать следующее с 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/

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

2 голосов
/ 19 июля 2011

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

2 голосов
/ 19 июля 2011

Вы можете установить функцию обратного вызова для события 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";
}
1 голос
/ 09 июня 2017

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

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

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

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

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

1 голос
/ 19 июля 2011

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

var getValue  = function (input, defaultValue) {
    return input.value || defaultValue;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...