Форма автоматической отправки JQuery после загрузки изображения - кнопка «Не отправлять» - PullRequest
0 голосов
/ 07 мая 2019

Я хочу автоматически отправить форму после загрузки изображения.Форма обрабатывается на той же странице.поэтому у меня нет if (isset ($ _ POST ["submit"])) {

<div class="container">
  <h1>jQuery Image Upload 
    <small>with preview</small>
  </h1>
  <div class="avatar-upload">
    <form id="formImageUpload" action="#" method="post" enctype="multipart/form-data">
      <div class="avatar-edit">
        <input type='file' id="imageUpload" name="imageUpload" accept=".png, .jpg, .jpeg" onchange="this.form.submit()"  />
        <label for="imageUpload"></label>
      </div>
    </form>

    <div class="avatar-preview">
      <div id="imagePreview" style="background-image: url(http://i.pravatar.cc/500?img=7);" onchange="this.form.submit()" >
      </div>
    </div>
  </div>
</div>

jquery файл:

function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader();
    reader.onload = function(e) {
        $('#imagePreview').css('background-image', 'url('+e.target.result +')');
        $('#imagePreview').hide();
        $('#imagePreview').fadeIn(650);
        $("#formImageUpload" ).submit();
    }
    reader.readAsDataURL(input.files[0]);
  }
}


$("#imageUpload").change(function() {   
   readURL(this);
});

1 Ответ

0 голосов
/ 07 мая 2019

Итак, ваш ответ такой:

<div class="container">
  <h1>jQuery Image Upload <small>with preview</small></h1>
  <div class="avatar-upload">
    <form id="formImageUpload" action="#" method="post" enctype="multipart/form-data">
      <div class="avatar-edit">
        <input type='file' id="imageUpload" name="imageUpload" accept=".png, .jpg, .jpeg" onchange="readURL(this)"  />
        <label for="imageUpload"></label>
      </div>
    </form>

    <div class="avatar-preview">
      <div id="imagePreview" style="background-image: url(http://i.pravatar.cc/500?img=7);" ></div>
    </div>
  </div>
</div>

JS:

function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader();
    reader.onload = function(e) {
      $('#imagePreview').css('background-image', 'url('+e.target.result +')');
      $('#imagePreview').hide();
      $('#imagePreview').fadeIn(650);
      $("#formImageUpload" ).submit();
    }
    reader.readAsDataURL(input.files[0]);
  }
}
...