Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: jQuery в полях input форм

Сообщения:  [1-5] 

 
 автор: AlexSol   (05.12.2011 в 08:19)   письмо автору
 
   для: gomer505   (04.12.2011 в 23:01)
 

data() это как хранилище переменных для выбранного объекта.
к любому узлу можно добавить любые данные

$(e).data({ключ1:"значение1",ключ2:"значение2"})

получить - alert( $(e).data("ключ1") )

jquery.data, привязка данных к элементам dom - http://jquerylist.ru/tutorials/extend-and-data-more-than-just-internal-jquery-methods.html

  Ответить  
 
 автор: gomer505   (04.12.2011 в 23:01)   письмо автору
 
   для: AlexSol   (03.12.2011 в 19:46)
 

Спасибо, AlexSol. Ваш код работает. Жаль без комментов, но и на том спасибо. Постараюсь запомнить и разобраться. Две недели искал ответ. Не могу понять как у Попова все работает...

myEmail.data({'def' : myEmail.val()})
Устанавливаем агументом значения value="def" в инпуте id = "email"

Я правильно понимаю эту строку? Только синтаксис не очень понятен. Еще не докопал...

  Ответить  
 
 автор: AlexSol   (03.12.2011 в 19:46)   письмо автору
 
   для: gomer505   (03.12.2011 в 18:08)
 

вам нужно типа такого


var myEmail = $('#email');
myEmail.data({'def' : myEmail.val()}) 
myEmail.focus(function(){ 
    if ($(this).val() == $(this).data('def')) { 
      $(this).val(''); 
    }  
}); 
myEmail.blur(function(){ 
    if ($(this).val()== '') { 
      $(this).val($(this).data('def')); 
    }  
 }); 

  Ответить  
 
 автор: AlexSol   (03.12.2011 в 19:43)   письмо автору
 
   для: gomer505   (03.12.2011 в 18:08)
 

попробуйте не использовать зарезервированные слова, типа 'defaultvalue'

ну и в вашем html нет атрибута такого defaultvalue

  Ответить  
 
 автор: gomer505   (03.12.2011 в 18:08)   письмо автору
 
 

Изучаю jQuery по диску Е.Попова. Там он дает такой код :
 var myEmail = $('#email');
myEmail.focus(function(){
    if ($(this).val()== $(this).attr('defaultValue')) {
      $(this).val('');
    } 
});
myEmail.blur(function(){
    if ($(this).val()== '') {
      $(this).val($(this).attr('defaultValue'));
    } 
 }); 


У него он работает. А у меня нет - при значении 'defaultValue' в аргументе attr.

Но работает при подстановке действительного значения value='Пример:you@site.ru'

var myEmail = $('#email');
 myEmail.focus(function(){
     if ($(this).val()== 'Пример:you@site.ru') {
       $(this).val('');
     } 
 });
 myEmail.blur(function(){
     if ($(this).val()== '') {
       $(this).val('Пример:you@site.ru');
     } 
 });



Реально понимаю, что что-то не то с синтаксисом в выражении :
$(this).attr('defaultValue')


Что именно не пойму. Может кто поможет?
Даю отрывок HTML кода:
<p><strong>Укажите Ваш email:</strong></p>
                  <input type="text" id="email" value="Пример:you@site.ru" />


Причем если убрать в самом верхне коде из аргумента attr первую часть слова 'default', а оставить 'value' именно с маленькой буквы, то при фокуссировке в текстарее значение value исчезает, но не срабатывает .blur -расфокуссировка.

  Ответить  

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования