如果用户使用jQuery删除textarea中预先填充的内容,我试图确定textarea是否为空。
无论如何要做到这一点?
这就是我所拥有的,而且它不起作用
$(textarea).live('change', function(){
if($(this).val().length == 0) {
$(submitButtonClass).addClass('disabled_button');
$(submitButtonClass).removeClass('transSubmit');
} else {
$('.disabled_button').addClass('transSubmit').css({
'cursor':'pointer'
}).removeClass('disabled_button');
}
});
答案 0 :(得分:94)
if (!$("#myTextArea").val()) {
// textarea is empty
}
您还可以使用$.trim
确保元素不仅包含空格:
if (!$.trim($("#myTextArea").val())) {
// textarea is empty or contains only white-space
}
答案 1 :(得分:6)
if (!$.trim($("element").val())) {
}
答案 2 :(得分:3)
您只需要获取文本框的值并查看其中是否包含任何内容:
if (!$(`#textareaid`).val().length)
{
//do stuff
}
答案 3 :(得分:3)
要查明textarea是否为空,我们查看textarea文本内容,如果找到一个sinlge字符则不为空。
尝试:
if ($(#textareaid).get(0).textContent.length == 0){
// action
}
//or
if (document.getElmentById(textareaid).textContent.length == 0){
// action
}
$(#textareaid)
获取textarea jQuery对象。
$(#textareaid).get(0)
让我们成为dom节点。
我们也可以在不使用jQuery的情况下使用document.getElmentById(textareaid)
。
.textContent
为我们提供了该dom元素的textContent。
使用.length
,我们可以看到是否存在任何字符。
因此,如果内部没有字符,则textarea为空。
答案 4 :(得分:3)
我知道你很快就会得到一个解决方案。所以,这是为了其他人来看看其他人如何解决同样的常见问题 - 像我一样。
问题和答案中的示例表明使用jQuery,我正在使用.change监听器/处理程序/看看我的textarea是否发生了变化。这应该照顾手动文本更改,自动文本更改等来触发
//pseudocode
$(document).ready(function () {
$('#textarea').change(function () {
if ($.trim($('#textarea').val()).length < 1) {
$('#output').html('Someway your box is being reported as empty... sadness.');
} else {
$('#output').html('Your users managed to put something in the box!');
//No guarantee it isn't mindless gibberish, sorry.
}
});
});
似乎适用于我使用的所有浏览器。 http://jsfiddle.net/Q3LW6/。消息显示textarea失去焦点时。
更新,更全面的示例: https://jsfiddle.net/BradChesney79/tjj6338a/
使用和报告.change(),. blur(),. keydown(),. keyup(),. mousedown(),. mouseup(),. click(),mouseleave()和.setInterval()
答案 5 :(得分:1)
这是我的工作代码
function emptyTextAreaCheck(textarea, submitButtonClass) {
if(!submitButtonClass)
submitButtonClass = ".transSubmit";
if($(textarea).val() == '') {
$(submitButtonClass).addClass('disabled_button');
$(submitButtonClass).removeClass('transSubmit');
}
$(textarea).live('focus keydown keyup', function(){
if($(this).val().length == 0) {
$(submitButtonClass).addClass('disabled_button');
$(submitButtonClass).removeClass('transSubmit');
} else {
$('.disabled_button').addClass('transSubmit').css({
'cursor':'pointer'
}).removeClass('disabled_button');
}
});
}
答案 6 :(得分:1)
if(!$('element').val()) {
// code
}
答案 7 :(得分:1)
这将检查是否有空白的textarea,也不允许只在textarea coz中也显示为空白的空格。
var txt_msg = $("textarea").val();
if (txt_msg.replace(/^\s+|\s+$/g, "").length == 0 || txt_msg=="") {
return false;
}
答案 8 :(得分:0)
Andy E的回答帮助我找到了正确的工作方式:
$.each(["input[type=text][value=]", "textarea"], function (index, element) {
if (!$(element).val() || !$(element).text()) {
$(element).css("background-color", "rgba(255,227,3, 0.2)");
}
});
这个!$(element).val()
并没有为我找到一个空的textarea。但是整个爆炸(!)的东西在与文本结合时确实起作用了。
答案 9 :(得分:0)
$.each(["input[type=text][value=]", "textarea[value=]"], function (index, element) {
//only empty input and textarea will come here
});
答案 10 :(得分:0)
您可以简单地尝试一下,并且它在大多数情况下都可以使用,如果我错了,请随时纠正我:
function hereLies(obj){
if(obj.val() != "") {
//Do this here }}
obj
是textarea
的对象。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<body>
<textarea placeholder="Insert text here..." rows="5" cols="12"></textarea>
<button id="checkerx">Check</button>
<p>Value is not null!</p>
<script>
$("p").hide();
$("#checkerx").click(function(){
if($("textarea").val() != ""){
$("p").show();
}
else{
$("p").replaceWith("<p>Value is null!</p>");
}
});
</script>
</body></html>