首页 文章

获取HTML5验证以使用onclick?

提问于
浏览
2

我有一个名称,公司,电子邮件和电话号码的表格,并使用必要的确保表格填写了每个输入的内容 . 我想要做的是让它将文件下载到填写表单的访问者的计算机上,并使用此代码处理下载:

HTML:

<input type="submit" id="submitbutton" onclick="download()">

JS:

function download(){
    window.open('the_file.zip');
}

但是,添加onclick会导致表单绕过验证,它将提交并下载,无需填写任何内容 . 我可以在这做什么来确保HTML5验证有效?

2 回答

  • 0

    我会听取提交而不是点击事件 .

    使用jQuery:

    $('form').submit(function(event){
        alert('form was submitted!');
        // window.open('the_file.zip');
        // event.preventDefault();
    
        // ... do something else ...
    
        // $(this).submit();
    });
    

    然后,如果您想在实际提交表单之前执行某些操作,也可以阻止提交 event.preventDefault(); 的默认操作 .

  • 3

    您应该做的是,而不是 onclick 事件,将 form action 属性设置为验证表单的服务器页面,然后,如果表单有效,则将用户重定向到 the_file.zip .

    即使通过做 event.preventDefault() 这样的事情,我也会阻止表单值被任何东西处理(它们只是将它们放在各自的输入字段中,然后将打开一个新窗口并显示要下载的文件) .

相关问题