Javascript Проверка идентификатора электронной почты с флажком - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу сделать Javascript подтверждение адреса электронной почты и флажок. Проверка работает только для флажка, но не для идентификатора электронной почты. как это исправить пожалуйста?

codepen demo

function Validate()  
{  
    var x=document.myform.email.value;  
    var atposition=x.indexOf("@");  
    var dotposition=x.lastIndexOf(".");  
    if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length){  
        alert("Please enter a valid e-mail address");  
        return false;  
    }  
    return true;
}  


function Validate(){
   if(!validateForm()){
       alert("Terms & Conditions!");
       return false;
   }
   return true
}

function validateForm()
{
    var c=document.getElementsByTagName('input');
    for (var i = 0; i<c.length; i++){
        if (c[i].type=='checkbox')
        {
            if (c[i].checked){return true}
        }
    }
    return false;
}

1 Ответ

1 голос
/ 09 апреля 2020

	// this function is called on form submit and checks the return values of both the email and checkbox function. if either of them are false, you will be alerted.
  function MainFunction(){
   if(!validateCheckBox() || !ValidateEmail()  ){
       return false;
   }
     alert("the form has been successfully submitted");
    return true
    }

// this function validates the email
function ValidateEmail()  
{  
var x=document.myform.email.value;  
var atposition=x.indexOf("@");  
var dotposition=x.lastIndexOf(".");  
if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length){  
  alert("Please enter a valid e-mail address");  
  return false;  
  }  
  return true;
}  

// this function validates the checkbox
function validateCheckBox()
{
    var c=document.getElementsByTagName('input');
    for (var i = 0; i<c.length; i++){
        if (c[i].type=='checkbox')
        {
            if (c[i].checked){return true}
        }
    }
     alert("Terms & Conditions!");
    return false;
}
//you had two of the same named function before. also you were only checking the return of one of the functions. Above checks the return values of both of the functions. Hope this helps
<form name="myform" id="form_id"  method="post" onsubmit="return MainFunction();">
<input type="text" name="email" class="subscribe_email_nf" placeholder="Enter Your Email Id...">	<br />
<input type="checkbox" name="option1" value="1">Accept Terms & Conditions<br />
<input type="submit" value="Submit Form">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...