当前位置: 首页 > 知识库问答 >
问题:

如何停止表格中无效字段的提交?

姜玉泽
2023-03-14

我一直在Luhn算法-JavaScript上使用这种背景颜色来帮助构建类似的网页。然而,与原始海报不同,如果在任何字段中有任何无效的输入,我希望代码不要提交。我仍然希望输入字段改变颜色(绿色表示有效,红色表示无效)。

我相信我可以使用混合模式修复名称和电子邮件(对于名称-“[a-Za-z!#$%”

cardNumberInput.addEventListener("keyup", e => {
  const isCardValid = valid_credit_card(e.target.value);
  if (isCardValid) {
    cardNumberInput.style.backgroundColor = "green";
  } else {
    cardNumberInput.style.backgroundColor = "red";
  }
})

任何帮助都将不胜感激,我为您可能需要的任何丢失的细节道歉,这是我在这里的第一个问题。

共有1个答案

陶飞鸿
2023-03-14

isCardValidglobal并在表单上添加一个submit事件侦听器,如下所示

let isCardValid = false
const cardNumberInput = document.getElementById('your-input')
const cardForm = document.getElementById('your-form')

cardNumberInput.addEventListener("keyup", e => {
    isCardValid = valid_credit_card(e.target.value);
    if (isCardValid) {
        cardNumberInput.style.backgroundColor = "green";
    } else {
        cardNumberInput.style.backgroundColor = "red";
    }
})

cardForm.addEventListener('submit', e => {
    if(!isCardValid)
        e.preventDefault()
})

isCardValid为true之前,表单不会被提交。如果要手动提交表单而不是默认的HTML提交行为,请执行此操作

yourForm.addEventListener(e => {
    // To prevent default submission always.
    e.preventDefault()

    if(!isCardValid) return

    // Do anything here...
})
 类似资料:
  • 问题内容: 我正在编写一些javascript(lubricmonkey /用户脚本),它将一些输入字段插入网站上的表单中。 问题是,我不希望这些输入字段以任何方式影响表单,我不希望它们在提交表单时提交,我只希望我的JavaScript可以访问它们的值。 有什么办法可以将一些输入字段添加到表单的中间,而在提交表单时不提交它们呢? 显然,理想的情况是输入字段不在form元素中,但是我希望结果页面的布

  • 我使用以下代码使用Ajax提交表单: 此函数检查表单元素中所需的类 然后,我有了这段代码,可以使用上述功能自动检查所有表单中的必填字段: 它适用于发布到另一页的表单。 当使用Ajax提交代码时,当出现错误时,它会显示,但它仍会提交表单。

  • 问题内容: 我有一个表单,其中某处有一个提交按钮。 但是,我想以某种方式“捕获”提交事件并防止它发生。 有什么办法可以做到这一点? 我无法修改“提交”按钮,因为它是自定义控件的一部分。 问题答案: 与其他答案不同,返回仅是答案的 一部分 。考虑在return语句之前发生JS错误的情况… html 脚本 返回此处将不会执行,并且表单将以任何一种方式提交。您还应该致电以阻止Ajax表单提交的默认表单操

  • 问题内容: 有没有一种方法可以使用javascript和JQuery添加一些其他字段,这些字段将使用POST从HTTP表单发送? 我的意思是: 问题答案: 是的。您可以尝试使用一些隐藏的参数。

  • 问题内容: 每次尝试编码时,它都有效,但是当我键入代码时,出现错误: ValueError:int()以10为基的无效文字:“停止” 问题答案: 传递给的字符串应仅包含数字: 一个快速的解决方法是在此处使用异常处理: 而且您可以使用匹配“ stop”的任何大小写组合:

  • 我有一个名为add.jsp的文件,我用Java将数据添加到数据库中。 在这个文件中,我使用第一个下拉列表从数据库中获取联赛,该联赛的球队显示在所选联赛的第二和第三个下拉列表中。 表格开始如下。 由于onChange="this.form.submit();"位于第一个下拉列表部分,当进行选择时,表单提交并转到addemp servlet。 当我从第一个下拉列表中选择联赛时,如何防止表单提交?在选择