简体   繁体   English

在 javascript 中启用和禁用下载按钮

[英]Enable and disable download button in javascript

I made a form that asks for name and email in order to download a file.我制作了一个表格,要求输入姓名和 email 以下载文件。 The problem is that the "Download" button is working whether you fill up the name or not, even though it shows the message informing that theres missing information to download the file.问题在于,无论您是否填写名称,“下载”按钮都可以正常工作,即使它显示消息,通知缺少下载文件的信息。

I don't have enough js knowledge to figure out a way to make the "Download" button work work when the name and email is entered.当输入名称和 email 时,我没有足够的 js 知识来找出使“下载”按钮工作的方法。

Can someone help?有人可以帮忙吗? Please!请!

HTML Download button: HTML 下载按钮:

<button type="submit" onclick="window.location.href='download/CV.pdf'">Download</button>

JS: JS:

  var email = document.getElementById("email").value;
  var error_message = document.getElementById("error_message");

  error_message.style.padding = "10px";

  var text;
  if(name.length < 5){
    text = "Please Enter valid Name";
    error_message.innerHTML = text;
    return false;
  }
  if(email.indexOf("@") == -1 || email.length < 6){
    text = "Please Enter valid Email";
    error_message.innerHTML = text;
    return false;
  }
  alert("Thank you!");
  return true;
}

Thank you!谢谢!

You can do it like this.你可以这样做。

  <form onsubmit="return validateForm(event)">
    <button type="submit">Download</button>
    <input type="text" id="email" placeholder="Email">
    <input type="text" id="name" placeholder="Name">
  </form>

  ...

  function validateForm(event) {
    event.preventDefault();

    var email = document.getElementById("email").value;
    var name = document.getElementById("name").value;
    var error_message = document.getElementById("error_message");

    error_message.style.padding = "10px";

    var text;
    if(name.length < 5){
      text = "Please Enter valid Name";
      error_message.innerHTML = text;
      return;
    }
    if(email.indexOf("@") == -1 || email.length < 6){
      text = "Please Enter valid Email";
      error_message.innerHTML = text;
      return;
    }
    window.location.href = "download/CV.pdf";
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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