Невозможно помешать POST-форме выполнить PHP-код и обработку изображений - PullRequest
0 голосов
/ 09 октября 2019

ОБНОВЛЕНО

КОНТЕКСТ: у меня есть форма, которая редактирует данные события: фото события, заголовок, описание и т. Д. Когда пользователь открывает форму редактирования, все данныев полях формы. Пользователь может выбрать редактировать данные и обновлять, или нет.

ПРОБЛЕМА: если пользователь не меняет фотографию и нажимает кнопку «отправить», фотография исчезает.

НЕОБХОДИМЫЙ РЕЗУЛЬТАТ: я хочу обновить фотографию, если пользователь решит изменить фотографиюи я хочу, чтобы существующая фотография оставалась, если пользователь не меняет фотографию.

** ОБНОВЛЕНИЕ ** Ранее я думал, что это проверка PHP isset () / empty (), но это не так. Это проблема с JavaScript, с которой я не сталкивался. Я полагаю, что кнопка отправки и отправки идентификатора вызывает запуск JavaScript независимо от php.

КОД формы ввода изображения HTML.

     <div class="row">
            <div class="col-md-12">
                <div id="event_picture" style="width:350px"></div>
            </div>
            <div class="col-md-12" style="padding-top:30px;">
                <strong>Select Image:</strong>
                <br/>
                <img width='100' src="images/<?php echo $e['event_picture'];?>" alt="">
                <input type="file" id="upload" class="form">
                <br/>
                <input type="hidden" name="event_picture" id="event_picture_base64">
            </div>
        </div>

КНОПКА ОТПРАВКИ

 <input type="submit" name="submit" class="upload-result" value="Update Event" class="btn btn-primary btn-lg">

JAVASCRIPT

 <script type="text/javascript">
$uploadCrop = $('#event_picture').croppie({
    enableExif: true,
    viewport: {
        width: 300,
        height: 300,
        type: 'square'
    },
    boundary: {
        width: 350,
        height: 350
    }
});


$('#upload').on('change', function () { 
    var reader = new FileReader();
    reader.onload = function (e) {
        $uploadCrop.croppie('bind', {
            url: e.target.result
        }).then(function(){
            console.log('jQuery bind complete');
        });

    }
    reader.readAsDataURL(this.files[0]);
});


$('.upload-result').on('click', function (ev) {
    $uploadCrop.croppie('result', {
        type: 'canvas',
        size: 'viewport'
    }).then(function (resp) {

        document.getElementById("event_picture_base64").value = resp;
    });
});


</script>

Я думаю, проблема в том, что мне нужно условие, чтобы не запускать JavaScript при нажатии кнопки отправки. Сейчас я ищу в Интернете, но я действительно не знаю, как написать это условие.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...