当有空格或没有输入值时发出Javascript警报

Javascript alert when space or no entered value

本文关键字:警报 Javascript 输入 空格      更新时间:2023-10-10

我需要编写一个用于表单验证的正则表达式,该表达式允许在字符串中使用空格,但不允许只使用空格。例如,如果用户只输入空格,它应该触发javascript警报

我试过这个,但这个不起作用

<script>
if (document.getElementsByClassName('notes') == " ") {
    alert("Notes should not begin with space");
}

}

html

 <textarea name="notes" class="form-control" class="notes"></textarea>

if (document.getElementsByClassName('notes') == " ")

getElementsByClassName()返回节点的集合,而不是节点的值,请使用[]value属性以及trim()

if(document.getElementsByClassName('notes')[0].value.trim() === "")

您需要获得inputvalue,如:

if (document.getElementsByClassName('notes')[0].value == "") {
        alert("Notes should not begin with space");
    }

Ps。getElementsByClassName将返回一个元素列表。因此,与" "相比,它总是返回false

您正在比较document.getElementsByClassName返回到"的元素数组,这显然是错误的,您需要比较元素的值。

if (document.getElementsByClassName('notes')[0].value[0] == " ") {
    alert("Notes should not begin with space");
}

在本例中,.value返回文本区域的值,.value[0]表示值

的第一个字符

请检查您的HTML。有两个类属性:

<textarea name="notes" class="form-control" class="notes"></textarea>

首先将它们合并:

<textarea name="notes" class="form-control notes"></textarea>

现在选择

document.getElementsByClassName('notes')[0]

应该给你目标元素。

好的,我明白了。上面的所有答案都是正确的,但我必须在提交时添加"onclick"事件

 <input type="submit" name="submit" class="btn btn-primary btn-default" value="submit" onclick="return showAlert()">

js

 <script>
function showAlert(){
    if (document.getElementsByClassName('notes')[0].value[0] == " ") {
    alert("Notes should not begin with space");
    return false;
    }
}

试试这个,它工作正常:

HTML:

<textarea name="notes" class="form-control notes"></textarea>

脚本:

$('textarea').on('keyup', function(){
if (document.getElementsByClassName('notes')[0].value[0] == " ") {
    alert("Notes should not begin with space");
}
});

演示:https://jsfiddle.net/fer49eby/