我有一个名称,公司,电子邮件和电话号码的表格,并使用必要的确保表格填写了每个输入的内容 . 我想要做的是让它将文件下载到填写表单的访问者的计算机上,并使用此代码处理下载:
HTML:
<input type="submit" id="submitbutton" onclick="download()">
JS:
function download(){
window.open('the_file.zip');
}
但是,添加onclick会导致表单绕过验证,它将提交并下载,无需填写任何内容 . 我可以在这做什么来确保HTML5验证有效?
2 回答
我会听取提交而不是点击事件 .
使用jQuery:
然后,如果您想在实际提交表单之前执行某些操作,也可以阻止提交
event.preventDefault();
的默认操作 .您应该做的是,而不是
onclick
事件,将form
action
属性设置为验证表单的服务器页面,然后,如果表单有效,则将用户重定向到the_file.zip
.即使通过做
event.preventDefault()
这样的事情,我也会阻止表单值被任何东西处理(它们只是将它们放在各自的输入字段中,然后将打开一个新窗口并显示要下载的文件) .