надеюсь, что вы можете мне помочь!
У меня есть форма, которая имеет большое количество inputs
. Эти входные данные имеют начальный класс inputLight
, в котором используется светло-серый текст. У меня есть следующий код jQuery, чтобы на focus
изменить цвет текста на inputDark
и на blur
чтобы вернуть его обратно:
$('input').focus(function(){
$(this).attr('class', 'inputDark');})
.blur(function() {$(this).attr('class', 'inputLight');
Это абсолютно работает. У меня также есть следующий код для удаления значения input
при его первом выборе.
/* First time only, delete default text*/
$('input').one('focus', function(){
$(this).val('');});
Это тоже работает. Куда я иду с этим? Ну, у меня есть две кнопки input
, одна для отправки формы и одна для ее очистки - но моя проблема не в проверке.
Когда пользователь нажимает любую кнопку, она, конечно, удаляет ее значение. И меняет цвет текста.
Я не хочу, чтобы какое-либо событие происходило с этими кнопками с именами Submit Button
и Clear Button
.
Я пытался использовать:
/* Toggle gray/black text */
$('input').not('input[name=Submit Button]').not('input[name=Clear Button]').focus(function() {$(this).attr('class', 'inputDark');}).blur(function() {$(this).attr('class', 'inputLight'); });
и
/* First time only, delete default text*/
$('input').not('input[name=Submit Button]').not('input[name=Clear Button]').one('focus', function(){
$(this).val('');
});
Извините за плохую разметку, я знаю, она должна выглядеть ужасно.
При наличии функций .not()
ни одна из этих функций не работает, но кнопки работают. Убери .not()
и эффекты сработают, но кнопки сойкают.
Может кто-нибудь помочь мне здесь?