【问题标题】:Trying To Use Javascript To Stop My Form From Submitting Itself When An Email Address That Has Been Used By A Previous User Is Provided当提供以前用户使用的电子邮件地址时,尝试使用 Javascript 阻止我的表单提交
【发布时间】:2025-12-06 23:20:04
【问题描述】:

我想添加一个 javascript 来检查并阻止我的表单在其他用户提供已被其他人使用的电子邮件地址时自行提交。 我知道这不是一种专业的方法,但我需要这个解决方案来完成一个简单的项目。

以下是我自己尝试过但无法正常工作的 javascript。

function check(form) /*function to check used email addresses*/ {
    /*the following code checkes whether the entered email address is used*/
if (form.usercheck1.value == "sttf@gmail.com" 
|| form.usercheck1.value == "dandy@gmail.com") 
{
alert("The email address you provided has been used by another user."));
    return false;
  }

  return true;
}
  
<form action='' method='POST' onsubmit="return check_usercheck1();"></form>

<input name='email' id="usercheck1" placeholder='email' required='' type='email'/>

【问题讨论】:

    标签: javascript forms validation


    【解决方案1】:

    您的代码有各种错误。

    1. check_usercheck1 函数不存在。
    2. 输入不符合格式。
    3. 您的警报已关闭 2 次,使用 2 个 ),这会产生错误。
    4. 你的代码可以重构。

    检查下面的sn-p。

    function check(form) {
        let emails = ['sttf@gmail.com', 'dandy@gmail.com'];
        if (emails.includes(form)) {
            alert("The email address you provided has been used by another user.");
            return false;
        }
        return true;
    }
    
    function even (e) {
      const formInp = document.getElementById("usercheck1");
      const success = check(formInp.value);
      
      if(!success) {
        e.preventDefault();
      }
    }
    
    window.onload = (event) => {
    
    document.getElementById("form").addEventListener("submit", even);
    
    }
    <form action='' method='POST' id="form">
      <input name='email' id="usercheck1" placeholder='email' required='' type='email'/>
      <button type="submit">Submit</button>
    </form>

    【讨论】:

    • 我很欣赏这个解决方案,但它不起作用。
    • @AyodejiAkingbe 为什么不呢?
    • 我不知道...自己看@testetstetets.blogspot.com/p/test.html
    • @AyodejiAkingbe 再试一次,我已经编辑过了。
    • 还是不行。