在javascript中启用和禁用下载按钮
我制作了一个表格,要求提供姓名和电子邮件,以便下载一个文件。问题在于,无论您是否填写了文件名,“下载”按钮都在工作,即使它显示了一条消息,通知您缺少下载文件的信息 我没有足够的js知识来找出一种方法,在输入姓名和电子邮件时让“下载”按钮工作 有人能帮忙吗?求你了 HTML下载按钮:在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:
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
。看看最新的答案。