$(document).ready(function() {
$('.expanding').on('keyup',function() {
var textarea = document.getElementsByTagName('textarea')[0];
var submitBtn = document.getElementById('submit-btn');
if(textarea.value == '') {
$('#submit-btn').attr('disabled', true);
} else {
$('#submit-btn').attr('disabled', false);
}
});
});
到目前为止,这是我的代码。它工作正常,但它缺少一个功能。因此,默认情况下,textarea的值为空字符串,因此禁用该按钮。但是,输入的任何空格都会启用按钮,这是我不想要的。
我是否使用其他?或者在if语句中?我怎么写这个?
感谢。
答案 0 :(得分:1)
使用下面的.trim()或$ .trim()函数,删除前导&结束空格,然后检查textarea是否有字符串长度(如果它只是一堆空格则不会。)
$(document).ready(function() {
$('.expanding').on('keyup',function() {
// Using vanilla javascript
var textarea = document.getElementsByTagName('textarea')[0].trim();
// or with jQuery
var textarea = $.trim(document.getElementsByTagName('textarea')[0]);
var submitBtn = document.getElementById('submit-btn');
if( !textarea.length ) {
$('#submit-btn').attr('disabled', true);
} else {
$('#submit-btn').attr('disabled', false);
}
});
});
答案 1 :(得分:1)
您可以使用trim():
if(textarea.value.trim() == '')
答案 2 :(得分:0)
只需从值中删除前导和尾随空格:
if(textarea.value.replace(/^\s*(.*?)\s*$/, "$1") == '') {