【问题标题】:How do I automatically submit an upload form when a file is selected? how to replace upload button my code is below [duplicate]选择文件后如何自动提交上传表单?如何替换上传按钮我的代码在下面[重复]
【发布时间】:2025-12-02 13:55:02
【问题描述】:

代码:

<script type='text/javascript'>
            $(document).ready(function(){

                // Upload
                $("#but_upload").click(function(){

                    var fd = new FormData();
                    var files = $('#file')[0].files[0];
                    fd.append('file',files);
                    fd.append('request',1);

                    // AJAX request
                    $.ajax({
                        url: 'addremove.php',
                        type: 'post',
                        data: fd,
                        contentType: false,
                        processData: false,
                        success: function(response){

                            if(response != 0){
                                var count = $('.uploaded-images .image-content').length;
                                count = Number(count) + 1;

                                // Show image preview with Delete button
                                $('.uploaded-images').append("<div class='image-content' id='content_"+count+"' ><img class='image-responsive' src='"+response+"' width='125' height='125'><span class='delete' id='delete_"+count+"'>&times;</span><span class='under-approval'>Under Approval</span></div>");
                            }else{
                                alert('file not uploaded');
                            }
                        }
                    });
                });

                // Remove file
                $('.uploaded-images').on('click','.image-content .delete',function(){

                    var id = this.id;
                    var split_id = id.split('_');
                    var num = split_id[1];

                     // Get image source
                    var imgElement_src = $( '#content_'+num+' img' ).attr("src");

                    // AJAX request
                    $.ajax({
                       url: 'addremove.php',
                       type: 'post',
                       data: {path: imgElement_src,request: 2},
                       success: function(response){

                            // Remove <div >
                            if(response == 1){
                                $('#content_'+num).remove();
                            }

                       }
                    });
                });

            });
        </script>

这是我的问题:

  1. 如何在选择文件时自动提交上传表单?
  2. 如何替换上传按钮我的代码如下

任何有这方面经验的人,请给我建议任何解决这个问题的方法,谢谢。

【问题讨论】:

标签: javascript php ajax


【解决方案1】:

您可以使用以下JQuery代码:

$("#fileInput").change(function () {
    $('#form').submit();
});

【讨论】:

  • 怎么用?
  • @user9515436 如果您将 ajax 代码放在更改事件中,则不需要 submit()。
  • 它可以工作,但是我在上传图像时遇到了另一个问题,将某些位置和删除/取消按钮不起作用等等 -
  • 它现在工作正常
  • hi in this script width=125 height 125 css 使用它给出拉伸缩略图如何摆脱它!
【解决方案2】:

你可以用这个:

$('#file').on('change', function() {
    $("#but_upload").click();
});

或者更好的方法是将您的点击代码放入更改事件中。

$('#file').on('change', function() {
   var fd = new FormData();
   var files = this.files[0];
   ...
});

【讨论】:

  • 它不工作我不擅长 javascript
  • @user9515436 很难从注释中的代码中看出,因为它在一行中,所以它在注释中,但你缺少两个 }); 和结尾
  • @user9515436 您是否包含了您的$("#but_upload").click(function(){ .... });
  • 它现在可以工作了
最近更新 更多