Javascript 防止空白输入无效
我试图阻止在可编辑列表项上输入空白,我使用的代码与我在其他地方使用的代码相同,但由于某些原因,它不起作用 我有:Javascript 防止空白输入无效,javascript,jquery,Javascript,Jquery,我试图阻止在可编辑列表项上输入空白,我使用的代码与我在其他地方使用的代码相同,但由于某些原因,它不起作用 我有: if(folderName == "" || folderName == " " || folderName.charAt(0) == " "){ $(this).remove(); } 如果我不键入任何内容,它将删除该项,但如果我输入一个空格,它不会调用“删除” 奇怪的是,我在另一个地方使用了完全相同的代码,而且工作正常 以下是完整的功能: $(docum
if(folderName == "" || folderName == " " || folderName.charAt(0) == " "){
$(this).remove();
}
如果我不键入任何内容,它将删除该项,但如果我输入一个空格,它不会调用“删除”
奇怪的是,我在另一个地方使用了完全相同的代码,而且工作正常
以下是完整的功能:
$(document).on('focusout', '#folders li', function(){ //add class when lose focus/shorten name if too long
var folderName = $(this).text();
$('#folders li').removeAttr('contenteditable');
$('#folders li').removeClass('active-tab');
$(this).addClass('active-tab');
if(folderName.length > 15){
$(this).attr('title', $(this).text());
shortFolderName=folderName.substring(0,15) + '...';
$(this).text(shortFolderName);
}
else if(folderName.length <= 15){
$(this).text(folderName);
$(this).attr('title', $(this).text());
}
if(folderName == "" || folderName == " " || folderName.charAt(0) == " "){
$(this).remove();
}
console.log(folderName);
})
html:
检查如下空间:
folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
$(this).remove();
}
所以你的支票应该是这样的:
folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
$(this).remove();
}
检查如下空间:
folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
$(this).remove();
}
所以你的支票应该是这样的:
folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
$(this).remove();
}
您还可以使用.trim函数,然后检查字符串的长度
if(folderName == "" || folderName.trim().length === 0){
$(this).remove();
}
注意:trim函数删除字符串两端的空白
您还可以使用.trim函数,然后检查字符串的长度
if(folderName == "" || folderName.trim().length === 0){
$(this).remove();
}
注意:trim函数删除字符串两端的空白
太棒了,这一切都成功了,谢谢!我想你是说是的,我是说===0这可以简化为如果!folderName.trim.length{}如果您知道folderName是字符串。因为任何非零长度都等于true,并且!当然,但我认为检查长度===0会让不熟悉JavaScription的人更清楚。当然,你的答案是教授解决方案的正确方法,我只是为人们提供一些额外的想法,如果他们想看的话:太棒了,成功了,谢谢!我想你是说是的,我是说===0这可以简化为如果!folderName.trim.length{}如果您知道folderName是字符串。因为任何非零长度都等于true,并且!将“真”转换为“假”。当然,但我认为检查长度===0会为不熟悉JavaScription的人增加清晰度当然,你的答案是教授解决方案的正确方法,我只是为人们提供一些额外的想法,如果他们想看的话: