简体   繁体   中英

Two text fields, only one required to be filled (either)

So I have two fields in my webpage, one for telephone number and the other for email address, I need to make either one of them required to be filled by using JavaScript NOT jQuery. Most of the answers I found here are for jQuery, any solutions with JavaScript would be much appreciated. Thanks!

  function User_one(){
  var phone = document.getElementById('PhoneText2').value;
  var mail = document.getElementById('EmailText1').value;
    if (phone && mail == ""){
       alert("An error occurred.");
    }else{
      return false;
    }
  }

Update with actual code

Here's how I'd do it

(function () {
  document.getElementById('myForm').addEventListener('submit', function(event){
    // Get the length of the values of each input
    var phone = document.getElementById('PhoneText2').value.length,
        email = document.getElementById('EmailText1').value.length;

    // If both fields are empty stop the form from submitting
    if( phone === 0 && email === 0 ) {
      event.preventDefault();
    }
  }, false);
})();

Since you haven't supplied any code for us to work with, I'll answer in pseudo-code:

On form submission {
  If (both telephone and email is empty) {
    throw validation error
  }
  otherwise {
    submit the form
  }
}

If you show me your code I'll show you mine :-)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM