работает с CKEDITOR и пытается отключить кнопку отправки, если длина содержимого равна 0, но затем при активации клавиатуры снова проверьте функцию и посмотрите, больше ли значение более 1 и если это так, установите кнопку отправки для включения.Оператор Javascript if/else работает не так, как ожидалось
Так вот у нас это:
CKEDITOR.on('instanceReady', function(){
disableNewPost();
var e = CKEDITOR.instances['newpost'];
e.on('keyup', function() {
disableNewPost();
});
});
function disableNewPost() {
var value = CKEDITOR.instances['newpost'].getData();
var valueL = value.length
if ($(valueL) < 1) {
$(".addnewpostbtn").prop("disabled", true);
} else if ($(valueL) > 0) {
$(".addnewpostbtn").prop("disabled", false);
}
}
Это получает значение и длину правильно, и если положить сигнал (значение) или предупреждение (valueL) он показывает, что он shoudld.
Однако инструкция if не работает.
Onpage нагрузки, то CKEditor не имеет никакого содержания, и предупреждение показывает его длину как 0.
Однако, используя выше, если заявление оно не заблокирует кнопку. Я пробовал все варианты, о которых я могу думать (== ''/== 0) и т. Д. Но не повезло.
Если функция содержит только:
$(".addnewpostbtn").prop("disabled", true);
Затем он отключен.
Любая помощь?
Почему вы использовали бы, что по сравнению с '$ (" addnewpostbtn ") проп (" отключено", $ (valueL) <1) '? (Но реальная проблема заключается в том, что '$ (valueL)' всегда будет правдой.) –
'$ (". Addnewpostbtn "). Prop (" disabled ", valueL> 0 && value L <1);' – megawac
if 'value .length' - это номер, почему бы вам захотеть обернуть его в jQuery '$ (valueL)'? – David