javascript - 如果使用 jquery,如何检查文本框是否为空并显示弹出消息?

标签 javascript jquery html forms textbox

我正在尝试检查表单的文本框是否为空。但是,每当我尝试点击提交而不是警告框消息时,告诉我名字为空,我得到“请填写”。

('#submit').click(function() {
  if ($('#firstname').val() == '') {
    alert('Firstname is empty');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="elem" autocomplete="on">
  First Name:
  <br>
  <input type="text" name="firstname" id="firstname" required placeholder="Enter the first name" pattern="[A-Za-z\-]+" maxlength="25"><br>
  <input type="submit" id="submit" value="Submit" />
</form>

最佳答案

首先,我假设缺少的 $ 只是问题中的错字,因为您说您看到了验证消息。

您看到“请填写此字段”通知的原因是您在该字段上使用了 required 属性。如果您想手动验证表单,请删除该属性。您还需要 Hook formsubmit 事件,而不是 buttonclick 并防止如果验证失败,则提交表单,如下所示:

$('#elem').submit(function(e) {
  if ($('#firstname').val().trim() == '') {
    e.preventDefault();
    alert('Firstname is empty');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="elem" autocomplete="on">
  First Name:
  <br>
  <input type="text" name="firstname" id="firstname" placeholder="Enter the first name" pattern="[A-Za-z\-]+" maxlength="25"><br>
  <input type="submit" id="submit" value="Submit" />
</form>

我个人建议您使用 required 属性,因为它可以保存上述所有不必要的 JS 代码 - 除非您需要比仅检查所有必填字段都已给定值更复杂的逻辑。

关于javascript - 如果使用 jquery,如何检查文本框是否为空并显示弹出消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42971597/

相关文章:

javascript - 确认按钮事件触发两次

javascript - 如果页面大小有一定限制,如何将三个 div 对齐并让其中一个消失?

javascript - 使用 JQuery 查找数据属性

asp.net - 如果找不到图像 src,则隐藏输入 ="image"

html - 我怎样才能把一个 body 分成五个相等的部分

javascript - 自定义 CKEditor 工具栏

javascript - Service Worker 能做什么和不能做什么有什么限制?

javascript - 在类似于 jQuery 的 vanilla JS 中实现每个

javascript - JQuery Click 函数随机停止工作

带有 + 的 jQuery 数据值未正确检索