javascript - 仅在填充新行时阻止表单提交

标签 javascript jquery html string forms

所以我有一个带有文本区域的表单,如果文本区域仅填充空格或换行符\n,我不希望发送该表单,对于我做的第一个条件

$("textarea").val().replace(/\u0020+/gm, ' ');
if($("textarea").val().length<2) return;

但我不知道当文本区域仅填充新行时如何阻止表单提交。

最佳答案

jQuery

我发现您正在使用 jQuery。它有一个方便的$.trim()函数将删除字符串开头和结尾中不必要的空格。在仅包含空格、回车符和其他空白字符的字符串上运行 trim 将产生一个空字符串 - 因此它对您来说可以正常工作。

if($.trim($("textarea").val()).length < 2) return;

Javascript

Javascript 也有原生 String.trim()功能,但老IE不支持。使用此代码,您仍然可以“教”他们此方法:

if(!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g,'');
  };
}

关于javascript - 仅在填充新行时阻止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16471730/

相关文章:

php检查变量是否为整数

html - :first-child border-top-right-radius wont work

javascript - 如何在 Angular js 中调用 cURL post 方法

javascript - jQuery:忽略选择器的元素索引

html - 响应式设计在 chrome/safari 和可能的其他浏览器中根本不起作用?

javascript - 将回调 onSuccess 返回值提升为 Caller Function 返回值

javascript - 如何创建一个包含多个 .click() 函数的 jQuery 函数?

javascript - 如何在 Vue + Axios 中使用 List.JS?

javascript - jQuery 替换字符串中的 HTML

javascript图像onclick不起作用