繁体   English   中英

表单通过 Ajax 发送文件但不是表单元素

[英]Form Sending file but not form element via Ajax

我正在尝试将文件和一些信息发送到 php 页面以上传到服务器并存储在数据库中。 表单将文件上传到文档文件夹,然后将详细信息完美地存储在数据库中。 但是,不会发送表单的其他元素。

下面是我的代码。

     $(document).ready(function(){
        $("#but_upload").click(function(){
            var fdata = new FormData()
            fdata.append("lead_id", $("lead_id").val());
            var files = $('#file')[0].files;
            // Check file selected or not
            if(files.length > 0 ){
                fdata.append('file',files[0]);
                $.ajax({
                    url:'upload3.php',
                    type:'post',
                    data:fdata,
                    contentType: false,
                    processData: false,
                    success:function(response){
                        if(response != 0){
                            $("#show_message_document").fadeIn();
                        }else{
                            alert('File not uploaded');
                        }
                    }
                });
            }else{
                alert("Please select a file.");
            }
        });
    });

我的表格

  <form method="post" action="" enctype="multipart/form-data" id="myform">
    <input type="file" id="file" name="file" />
    <input type="hidden" id="lead_id" name="lead_id" value="<?php echo $lead_id; ?>"> 
    <input type="button" class="button" value="Upload" id="but_upload">
  </form>

我的 Php

   $lead_id = ($_POST['lead_id']);

您试图在没有任何选择器的情况下获取“lead_id”,请使用“#lead_id”或“[name=lead_id]”。

工作代码:

<script type="text/javascript">
    $(document).ready(function(){
        $("#but_upload").click(function(){
            var fdata = new FormData();
            fdata.append("lead_id", $("#lead_id").val());
            var files = $('#file')[0].files;
            // Check file selected or not
            if(files.length > 0 ){
                fdata.append('file',files[0]);
                $.ajax({
                    url:'upload.php',
                    type:'post',
                    data:fdata,
                    contentType: false,
                    processData: false,
                    success:function(response){
                        if(response != 0){
                            $("#show_message_document").fadeIn();
                        }else{
                            alert('File not uploaded');
                        }
                    }
                });
            }else{
                alert("Please select a file.");
            }
        });
    });
</script>

希望这可以帮助!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM