我一直试图为文件上传和表单提交设置相同的按钮,但是我面临以下问题。
{!! Form::open(array('route'=>'users.store', 'files' => true, 'id' => 'dpform')) !!}
{{ Form::file('dp', ['class' => 'form-control', 'hidden', 'id' => 'dpfile']) }}
<button id="dpbtn" class="btn btn-info btn-sm">Upload A Pic</button>
<!-- {{ Form::submit('Submit', array('class' => 'btn btn-success', 'style' => 'margin-top: 20px'))}} -->
{!! Form::close() !!}
这是我的图片上传代码。我在这里使用laravel表格。 我搜索了几个答案,以下是我目前的jQuery代码:
$(document).ready(function() {
$("#dpbtn").on("click",function(){
$("#dpfile").click(); //this should open file selection dialog
});
$("#dpfile").change(function(){
$("#dpform").submit(); //this should submit form when file has been selected
});
});
我想要的是,当我单击#dpbtn时,应通过在#dpfile上触发.click()来打开文件选择窗口。当我选择文件时,应使用#dpform上的.submit()提交表单。但是,当我单击#dpbtn时,它将打开文件选择器对话框,并且表单也同时提交。因此,表单提交时没有任何文件。没有选择文件时如何防止提交表单?
答案 0 :(得分:0)
所以请检查长度
if (this.files.length) {
this.form.submit()
}