[英]Get HTML5 validation to work with onclick?
我有一个用于姓名,公司,电子邮件和电话号码的表格,使用必填项可确保该表格中的每个输入内容均已填写。 我想做的是让它将文件下载到填写表单的访问者的计算机上,并用以下代码处理下载:
HTML:
<input type="submit" id="submitbutton" onclick="download()">
JS:
function download(){
window.open('the_file.zip');
}
但是,添加onclick会导致表单绕过验证,它将提交并下载,无需填写任何内容。 我在这里可以做什么以确保HTML5验证有效?
我会听提交而不是点击事件。
使用jQuery:
$('form').submit(function(event){
alert('form was submitted!');
// window.open('the_file.zip');
// event.preventDefault();
// ... do something else ...
// $(this).submit();
});
然后,您还可以阻止event.preventDefault();
的默认操作event.preventDefault();
如果您想在实际提交表格之前先做点事。
您真正应该做的是,将form
action
属性设置为验证表单的服务器页面,而不是onclick
事件,然后,如果该表单有效,则将用户重定向到the_file.zip
。
即使通过执行诸如event.preventDefault()
,我也很确定您还将防止表单值被任何东西处理(它们只会将其放在各自的输入字段中,并且会打开一个新窗口,下载文件)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.