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, время: 07:00. |