首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当两个输入字段不匹配时,阻止表单提交

当两个输入字段不匹配时,阻止表单提交
EN

Stack Overflow用户
提问于 2022-04-19 10:54:26
回答 2查看 41关注 0票数 0

我免费赠送学生参加培训班的门票,并在他们的机票上写上每个学生的电话号码,以防止另一名学生使用被窃的入场券。

我试图设计一个表格,让学生注册为候选人,也有他们的数据。

在表格上,我希望他们输入他们的电话号码和唯一的代码,打印在我送给他们的票上。

我试图使只有学生用我的票,才能提交表格。

当电话号码和票证号码不匹配时,如何防止使用javascript提交表单?

下面是一个javascript的示例,当电子邮件不匹配时,我使用它来阻止表单提交。

我知道下面的示例不是最好的解决方案,但我仍然需要解决方案。谢谢。

代码样本;

代码语言:javascript
复制
function check_email()
{
    var email = document.getElementById("email").value;
    
 if(email.localeCompare("google@gmail.com" || "google@gmail.com")) {
      
        alert("ATTENTION! \nThe email address that you provided did not match with the email that is associated.");
        return false;
    }
    return true;
}
代码语言:javascript
复制
<form action='' onsubmit="return check_email();">
<input type="password" name="email" placeholder="go*****b@*****.com" required='' id="email"/>

<button href='/' type='submit' id="submitForm">Submit</button> <button class="button" type="reset" value="Cancel">Reset</button>
</form>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-19 11:36:06

从评论上看,我承认你已经在一本书中写得很好了。然后,您可以将它们全部写入成对数组(json数组)。

代码语言:javascript
复制
var data = [{phone: '08012345678', ticket: 'ACTF'}, {phone: '08012345679', ticket: 'ACTG'}];

// set false default

document.querySelector('form').addEventListener('submit', function (e) 
{

  var phNumber = document.getElementById("phone").value;
  var scTicket = document.getElementById("ticket").value;
  var isMatch = false; 
    // check if any same
  for(var i=0; i<data.length; i++) {
    // If same, proceed submit.
    if (data[i].phone === phNumber && scTicket === data[i].ticket){
      isMatch = true;
      return true;
    }
  }
  
    //if the validator check fails, prevent the form from being submitted
  if(isMatch == false){
    e.preventDefault();
    alert('Not match!');
  }
});
代码语言:javascript
复制
<form action='post' >
<input type="text" name="phone" placeholder="Phone Number" required='true' id="phone"/>
<input type="password" name="ticket" placeholder="Secret Ticket Code" required='true' id="ticket"/>

<button href='/' type='submit' id="submitForm">Submit</button> <button class="button" type="reset" value="Cancel">Reset</button>
</form>

票数 0
EN

Stack Overflow用户

发布于 2022-04-19 11:02:40

您可能需要使用event.preventDefault() (请检查以下问题:JavaScript code to stop form submission

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71923751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档