Как предотвратить отправку формы до выбора файла? - PullRequest
0 голосов
/ 02 октября 2018

Я пытался установить одну и ту же кнопку для загрузки файла и отправки формы, но столкнулся со следующей проблемой.

{!! 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, мое окно выбора файла должно быть открыто, вызывая .click () на#dpfile.И когда я выбрал свой файл, форма должна быть отправлена ​​с использованием .submit () на #dpform.Но когда я нажимаю на #dpbtn, он открывает диалог выбора файла, и форма также отправляется одновременно.Итак, форма отправляется без какого-либо файла.Как предотвратить отправку формы при отсутствии выбранного файла?

1 Ответ

0 голосов
/ 02 октября 2018

Так проверьте длину

if (this.files.length) {
   this.form.submit()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...