javascript - 如果在数组中找不到任何输入值,则阻止表单提交

标签 javascript jquery html forms

我有一个表单,用户在其中添加行,并且每行上都有输入,用户在其中键入值,然后翻译值出现在其旁边。查找通过 JavaScript 数组进行。

其工作原理的简化示例如下:https://jsfiddle.net/kc4fes2w/7/

在此示例中,每一行只有一个用户输入的值,除此之外,还有与该用户输入的值关联的描述(如果数组中存在这样的翻译)。 (在示例中,它仅包含 XXX 和 YYY)

如果在数组中找不到任何用户输入的值,我想阻止提交表单。换句话说,如果 desc div 曾经显示“未找到”,那么我不希望用户能够提交表单。

这是我的尝试:

Javascript:

function checkform(fm) {
    var desc = $("#desc");
    if (desc.text().indexOf("not found") !== -1) {
    alert('You have invalid value(s). Please correct this.');    
    }
}

HTML:

<input type="submit" onsubmit="return checkform(); event.preventDefault();" />

正如您在 fiddle 中看到的那样,这不起作用。

最佳答案

当您不希望表单提交完成时,返回false:

function checkform() {
    var desc = $("#desc");
    if (desc.text().indexOf("not found") !== -1) {
        alert('You have invalid value(s). Please correct this.');    
        return false;
    }
}

<input type="submit" onclick="return checkform();" />

关于javascript - 如果在数组中找不到任何输入值,则阻止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33112992/

相关文章:

javascript - 使用 jQuery 打开和关闭的多个隐藏菜单?

javascript - JSON.解析 : unexpected character at line 1 column 2 of the JSON data (HTML)

html - 媒体查询调整跨度字体大小

javascript - 游戏继续进行 - 希望在玩家获胜时停止

php - MySQL数据库中的未定义值

javascript - 如何使用 Javascript 获取文本区域内字符中的鼠标位置

javascript - Mongoose,如何根据特定 bool 标志返回与架构相关的数据?

javascript - jquery 每个选择器都不起作用

javascript - 使用 React 时我应该使用什么来代替 document.queryselector()?

javascript - javascript 中明天的演出日期