Код ниже предназначается для включения кнопки отправки, после того как пользователь нажимает в поле текстовой области. Это работает, но я пытаюсь также сделать его так, чтобы это было только включено, если существует по крайней мере один символ в поле. Я пытался перенести его в:
if ($(this).val().length > 1)
{
}
Но, который, казалось, не работал... Какие-либо идеи?
$("#fbss").focus(function () {
$(this).select();
if ($(this).val() == "Default text") {
$(this).val("");
$("input[id=fbss-submit]").removeClass();
$("input[id=fbss-submit]").attr('disabled', false);
$("input[id= fbss-submit]").attr('class', '.enableSubmit');
if ($('.charsRemaining')) {
$('.charsRemaining').remove();
$("textarea[id=fbss]").maxlength({
maxCharacters: 190,
status: true,
statusClass: 'charsRemaining',
statusText: 'characters left',
notificationClass: 'notification',
showAlert: false,
alertText: 'You have exceeded the maximum amount of characters',
slider: false
});
}
}
});
Это не работает, потому что, судя по остальной части кода, исходное значение текста ввод - это «Текст по умолчанию», состоящий из более чем одного символа, поэтому ваше условие if
всегда истинно.
Самый простой способ заставить его работать, как мне кажется, - это учесть следующий случай:
var value = $(this).val();
if ( value.length > 0 && value != "Default text" ) ...
Если вы имеете в виду, что хотите включить отправку после того, как пользователь ввел хотя бы один символ, вам необходимо прикрепить ключевое событие, которое будет проверять его за вас.
Примерно так:
$("#fbss").keypress(function() {
if($(this).val().length > 1) {
// Enable submit button
} else {
// Disable submit button
}
});