Bog*_* M. 2 html javascript forms html-input preventdefault
我的页面上有一个文件输入:
<input type="file" id="file-main" style="display:none;" name="file-main">
Run Code Online (Sandbox Code Playgroud)
我有一个标签指向那个输入:
<button class="main-button" id="file-choose-btn"><lable for="file-main">Choose Image</lable></button>
Run Code Online (Sandbox Code Playgroud)
但是当我按下按钮(选择文件)时,表单立即被提交,并尝试执行PHP文件(即表单的"动作").我还没有该文件,因此它返回HTTP 404错误.
基本上,我的问题是,如何在单击(或本例中的按钮)后阻止执行表单.
我尝试使用事件处理程序来阻止事件的默认操作:
document.getElementById("file-choose-btn").onclick = function(e){
e.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
但后来我甚至无法选择文件,因为窗口甚至没有打开.
有解决方案吗 谢谢.
设置按钮类型,button
以便它不会提交表单:
<button type="button" class="main-button" id="file-choose-btn">
<lable for="file-main">Choose Image</lable>
</button>
Run Code Online (Sandbox Code Playgroud)
默认情况下,按钮具有类型submit
,因此您获得的行为.