在javascript文本区域中检查空字符串

在javascript文本区域中检查空字符串,javascript,html,Javascript,Html,我在网页上有一个textarea,当字符串为空时,我希望在其周围有一个边框。但只有当我在文本中添加一些内容,然后再次删除它时,它才会起作用。在我写文本区域之前,如何使边框可见?代码如下: $("#message-box").on("keyup", function(){ var charCount = $("#message-box").val().length; console.log("charCount"); $("#char-count").html(charCo

我在网页上有一个textarea,当字符串为空时,我希望在其周围有一个边框。但只有当我在文本中添加一些内容,然后再次删除它时,它才会起作用。在我写文本区域之前,如何使边框可见?代码如下:

$("#message-box").on("keyup", function(){
    var charCount = $("#message-box").val().length;
    console.log("charCount");
    $("#char-count").html(charCount);

    if (charCount === "") {
      $("#message-box").css("border", "10px solid red");
    }else{
      $("#message-box").css("border", "");
          //event listener
      $("#submitbutton").on('click', function() {
        var comment = $("#message-box").val();
        $("#visible-comment").html(comment);
        $("#message-box").hide();

        console.log(comment);
        return false;
      });
    };
};

我认为如果之前没有插入值,您的测试将不起作用

你可以

if ($("#message-box").val() == undefined || $("#message-box").val().length == 0)
而不是

if (charCount === "") {
也要先检查该值是否存在。

函数checkCharCount(){
charCount=$(“#消息框”).val().length;
$(“#字符数”).html(字符数);
如果(字符数==“”){
$(“#消息框”).css(“边框”,“10px实心红色”);
}否则{
$(“#消息框”).css(“边框”,“边框”);
}
}
$(“#消息框”)。在(“键控”,函数()上{
checkCharCount();
});
$(“#提交按钮”)。在('单击',函数()上{
var comment=$(“#消息框”).val();
$(“#可见注释”).html(注释);
$(“#消息框”).hide();
console.log(注释);
返回false;
});
checkCharCount()

请检查您是否有语法错误

$(“#消息框”)。在(
此部分不使用
关闭)

同时将事件
$(“#submitbutton”).on('click',function()

另外,
charCount=$(“#消息框”).val().length;
将返回一个数字,即使文本区域为空,也会给出
0
。因此您需要将其作为

if(charCount==0)

所以你的最终代码变成了

$("#message-box").on("keyup", function(){
    var charCount = $("#message-box").val().length;
    console.log("charCount");
    $("#char-count").html(charCount);

    if (charCount==0) {
      $("#message-box").css("border", "10px solid red");
    }else{
      $("#message-box").css("border", "");
          //event listener
    };
});

$("#submitbutton").on('click', function() {
var comment = $("#message-box").val();
$("#visible-comment").html(comment);
$("#message-box").hide();

console.log(comment);
return false;
});

不需要代码来处理这个问题——使用CSS伪类和属性:

textarea:无效{边框:10px实心红色;}

他使用charcount在他的html中显示charcount,因此最好尝试一下这个方法-检查我包含的代码片段,有很多小问题:)相关:您还记录了单词“charcount”,而不是变量。处理它的方法非常聪明!但我认为OP需要charcount。