Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中启用和禁用下载按钮_Javascript_Html_Forms_Validation - Fatal编程技术网

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

在javascript中启用和禁用下载按钮,javascript,html,forms,validation,Javascript,Html,Forms,Validation,我制作了一个表格,要求提供姓名和电子邮件,以便下载一个文件。问题在于,无论您是否填写了文件名,“下载”按钮都在工作,即使它显示了一条消息,通知您缺少下载文件的信息 我没有足够的js知识来找出一种方法,在输入姓名和电子邮件时让“下载”按钮工作 有人能帮忙吗?求你了 HTML下载按钮: 下载 JS: var email=document.getElementById(“email”).value; var error_message=document.getElementById(“error_me

我制作了一个表格,要求提供姓名和电子邮件,以便下载一个文件。问题在于,无论您是否填写了文件名,“下载”按钮都在工作,即使它显示了一条消息,通知您缺少下载文件的信息

我没有足够的js知识来找出一种方法,在输入姓名和电子邮件时让“下载”按钮工作

有人能帮忙吗?求你了

HTML下载按钮:

下载

JS:

var email=document.getElementById(“email”).value;
var error_message=document.getElementById(“error_message”);
错误\u message.style.padding=“10px”;
var文本;
如果(名称长度<5){
text=“请输入有效名称”;
错误\u message.innerHTML=文本;
返回false;
}
if(email.indexOf(“@”)=-1 | | email.length<6){
text=“请输入有效电子邮件”;
错误\u message.innerHTML=文本;
返回false;
}
警惕(“谢谢!”);
返回true;
}

谢谢大家!

你可以这样做

  <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";
  }

下载
...
函数validateForm(事件){
event.preventDefault();
var email=document.getElementById(“email”).value;
var name=document.getElementById(“name”).value;
var error_message=document.getElementById(“error_message”);
错误\u message.style.padding=“10px”;
var文本;
如果(名称长度<5){
text=“请输入有效名称”;
错误\u message.innerHTML=文本;
返回;
}
if(email.indexOf(“@”)=-1 | | email.length<6){
text=“请输入有效电子邮件”;
错误\u message.innerHTML=文本;
返回;
}
window.location.href=“下载/CV.pdf”;
}

你可以这样做

  <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";
  }

下载
...
函数validateForm(事件){
event.preventDefault();
var email=document.getElementById(“email”).value;
var name=document.getElementById(“name”).value;
var error_message=document.getElementById(“error_message”);
错误\u message.style.padding=“10px”;
var文本;
如果(名称长度<5){
text=“请输入有效名称”;
错误\u message.innerHTML=文本;
返回;
}
if(email.indexOf(“@”)=-1 | | email.length<6){
text=“请输入有效电子邮件”;
错误\u message.innerHTML=文本;
返回;
}
window.location.href=“下载/CV.pdf”;
}

如果我没有错,那么您希望禁用下载按钮,除非用户提供姓名和电子邮件,对吗?确切地说,只有当用户提供该信息时,该按钮才会触发下载。但是,如果用户提供了您从未收到的信息,那又有什么意义呢?!?如果我没有错的话,那么你想禁用下载按钮,除非用户提供姓名和电子邮件,对吗?确切地说,按钮应该只在用户提供该信息时触发下载,但是如果用户提供了您从未收到的信息,那有什么意义呢?!?谢谢你抽出时间。不幸的是,这不起作用。“Ifs”可以工作,但单击“下载”按钮,页面会刷新,下载不会触发。提交表单时,应调用
preventDefault
。请看更新后的答案。谢谢您抽出时间。不幸的是,这不起作用。“Ifs”可以工作,但单击“下载”按钮,页面会刷新,下载不会触发。提交表单时,应调用
preventDefault
。看看最新的答案。