input и изменение value
Всем доброго времени суток есть такой вопрос.
Есть инпут <input type='text' value='Привет' id='one-inp'> при нажатии на этот инпут надо затереть value
$(document).ready(function(){
$('#one-inp').click(function(){
$('#one-inp').val('');
});
});
а вопрос следущий как сделать чтоб если мы кликам на что либо другое то идет следующая проверка
if($('#one-inp').val() == '' )
{
$('#one-inp').val('Привет');
}
как оформить это событие (клик на любой блок кроме этого дива) |
А зачем такая задача стоит? Может проще потерю фокуса элементом проверять? И о каком div идет речь?
$('#one-inp').click(function(){
//$('#one-inp').val('');
$(this).val('');
//или сразу и без jQ
this.value = ''
});
|
Как вариант...
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('#one-inp').focus(function(){
this.value='';
}).blur(function(){
this.value=(this.value=='')? 'Привет': this.value;
});
});
</script>
</head>
<body>
<input type='text' value='Привет' id='one-inp' />
</body>
</html>
|
Современный вариант...
<input type='text' placeholder='Привет' value='' id='one-inp' /> |
я извиняюсь не дива а инпута. и да потеря фокуса тоже сканает
|
и да к сожалению placeholder не подходит. так как надо именно при клике затирать. а placeholder в мозиле затирает только тогда когда начинаешь что то вписывать
|
Всем спасибо буду пробывать :)
|
Ребят еще вопрос
у меня есть несколько инпутов <input id="fio" class="inp-anketa" type="text" value="ФИО"> <input id="Phone_vak" class="inp-anketa" type="text" value="" placeholder="Телефон"> <input id="mail" class="inp-anketa" type="text" value="Email"> и есть функия с фокусом на проверку
$('#fio').focus(function(){
if(this.value == '' || this.value == 'ФИО')
{
this.value = '';
$(this).css('color','#000000');
}
}).blur(function(){
if(this.value == '')
{
$(this).css('color','#757575');
this.value = 'ФИО';
}
});
как то можно записать эту функцию так чтоб при нажатии или получение фокуса на любой инпут шла проверка по этой функции. предположим их вобще 10. а раписывать для каждого инпута эту функию как то не хорошо громоский код получается. |
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('.inp-anketa').focus(function(){
if(this.value == '' || $(this).data('empty') == this.value) {
this.value = '';
$(this).css('color','#000000');
};
}).blur(function(){
if(this.value == ''){
$(this).css('color','#757575');
this.value = $(this).data('empty');
};
}).each(function(){
this.value = $(this).data('empty');
});
});
</script>
</head>
<body>
<input id="fio" class="inp-anketa" type="text" value="" data-empty="ФИО" />
<input id="Phone_vak" class="inp-anketa" type="text" value="" data-empty="Телефон" />
<input id="mail" class="inp-anketa" type="text" value="" data-empty="Email" />
</body>
</html>
|
ksa ты как всегда выручаешь большое спасибо
|
| Часовой пояс GMT +3, время: 09:45. |