JavaScript 按钮错误

JavaScript Button Error

本文关键字:错误 按钮 JavaScript      更新时间:2023-09-26

我的JavaScript遇到的问题是,当我为空白表单选择"发送"按钮时,它会告诉我要填写哪些字段(我想要)。 选择"确定"后,它会要求我在另一个窗口中"请输入有效的电子邮件地址"。

如果一个人选择"发送"而不填写表格,谁能帮助我消除第二个窗口的功能和逻辑? 我需要为"输入有效的电子邮件地址"创建一个新功能吗?

代码如下:

JavaScript

function checkforblank() {
  var errormessage = "";
  if (document.getElementById('fname').value =="") {
    errormessage += "enter your first name 'n";
  }
  if (document.getElementById('lname').value =="") {
    errormessage += "enter your last name 'n";
  }
  if (document.getElementById('email').value =="") {
    errormessage += "enter your email 'n";
  }
  if (document.getElementById('confirmEmail').value =="") {
    errormessage += "confirm your email 'n";
  }
  if (errormessage != "") {
    alert(errormessage);
    return false;
  }
};
function verifyEmail() {
  var status = false;     
  var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+'.[A-Z]{2,4}$/i;
  if (document.myForm.email.value.search(emailRegEx) == -1) {
    alert("Please enter a valid email address.");
  }
  else if (document.myForm.email.value != document.myForm.confirmEmail.value) {
    alert("Email addresses do not match.  Please retype them to make sure they are the same.");
  }
  else {
    alert("Thank you for your interest!");
    status = true;
  }
  return status;
}
function confirmEmailAddresses() {
  checkforblank();
  verifyEmail();
}

.html

<div id="content">
<form name="myForm" action="#" method="get" enctype="application/x-www-form-urlencoded" onsubmit="">
<table width="377" height="96">
  <tr>
    <td style="text-align: right">First Name:</td>
    <td><label for="FirstName"></label>
      <input type="text" name="fname" id="fname"></td>
  </tr>
  <tr>
    <td style="text-align: right">Last Name:</td>
    <td><label for="LastName"></label>
      <input type="text" name="lname" id="lname"></td>
  </tr>
  <tr>
    <td style="text-align: right">E-mail:</td>
    <td><input type="email" name="email" id="email"></td>
  </tr>
  <tr>
    <td style="text-align: right">Confirm E-mail:</td>
    <td><input type="email" name="confirmEmail" id="confirmEmail"></td>
  </tr>
</table>
<input type="submit" value="Send" onClick="confirmEmailAddresses()"><input type="reset" value="Reset Form">
</form>
                </div>

我对 JavaScript 相当陌生,所以请尽可能简单! :) 谢谢。

替换

function confirmEmailAddresses(){
    checkforblank();
    verifyEmail();
}

function confirmEmailAddresses(){
    if ( checkforblank() ) {
    verifyEmail();
    }
}

并添加这样的else return true;

if (errormessage != "") {
    alert(errormessage);
    return false;
  } else return true;

所以if(在checkforblank()函数中)errormessage不是(!=)空(""),那么checkforblank()告诉脚本(return s)trueif(现在confirmEmailAddresses()),只有当checkforblank()是真实的(true有点真实),然后运行verifyEmail(),结束(;)。 :p

这是你想要的吗?

   function confirmEmailAddresses() {
      if(checkforblank() && verifyEmail())
         return true;
      else return false;
    }
好的,

我认为您的要求是这个(jquery)

$(":submit").click( function(event) {
      if(!checkforblank() || !verifyEmail()) {
      event.preventDefault();
    }
});

如果这样做,请确保在 HTML 中包含"之后"按钮或包含在$(document).ready