Home  >  Article  >  Backend Development  >  文件上传+textarea 提交的问题?

文件上传+textarea 提交的问题?

WBOY
WBOYOriginal
2016-06-06 20:25:401335browse

<code><textarea id="content" class="form-control" rows="3" style="width:333px; height:200px; max-width: 333px; max-height: 200px;"></textarea>
    
<form id="uploadForm">
      <p>上传文件: <input type="file" name="file" id="upload_file"></p>
</form></code>
<code>    $("#duty_add").click(function(){
        var root = $("p#root").text();
        var vals = $.trim($("#content").val());
        if(vals != ''){
            $.ajax({
                type : "POST",
                url : root + "/duty/dutyadd",
                data :{'content':vals},
                success:function(data){
                    console.log(file_value);
                    $("#result").html(data);
                }
            });
        }else{
            alert('内容不能为空');
        }
        

    });

    
    $("#upload_file").change(function(){
         if($("#upload_file").val() != ''){
             var root = $("p#root").text(); //获取路径
             var root2 = $("p#root2").text(); //获取路径
            var formData = new FormData($("#uploadForm")[0]);
            $.ajax({
                  url: root + "/duty/fileup",
                  type: 'POST',
                  data: formData,
                  async: true,
                  cache: false,
                  contentType: false,
                  processData: false,
                  success: function (returndata) {
                      file_value[returndata.name] = returndata.url;
                  
                      
                      $("#uploadForm").prepend('<a href="'+%20root2%20+%20'/public/uploads/'+%20returndata.url%20+'" target="_blank">'+ returndata.name + '</a>'+"<br>");
                  }

            });

        };
    });</code>

附件上传是ajax异步提交,然互生成超链接。

<code>$("#uploadForm").prepend('<a href="'+%20root2%20+%20'/public/uploads/'+%20returndata.url%20+'" target="_blank">'+ returndata.name + '</a>'+"<br>");</code>

但是当textarea点击提交的时候,那么如何把超链接的内容也提交呢?
如果是多个上传文件,如何把上传文件函数返回的值提交呢?应该怎么获取比较方便,是不是我思路是错的?
想了好久想不通如何处理这样的?
给个思路也行,我想试试

回复内容:

<code><textarea id="content" class="form-control" rows="3" style="width:333px; height:200px; max-width: 333px; max-height: 200px;"></textarea>
    
<form id="uploadForm">
      <p>上传文件: <input type="file" name="file" id="upload_file"></p>
</form></code>
<code>    $("#duty_add").click(function(){
        var root = $("p#root").text();
        var vals = $.trim($("#content").val());
        if(vals != ''){
            $.ajax({
                type : "POST",
                url : root + "/duty/dutyadd",
                data :{'content':vals},
                success:function(data){
                    console.log(file_value);
                    $("#result").html(data);
                }
            });
        }else{
            alert('内容不能为空');
        }
        

    });

    
    $("#upload_file").change(function(){
         if($("#upload_file").val() != ''){
             var root = $("p#root").text(); //获取路径
             var root2 = $("p#root2").text(); //获取路径
            var formData = new FormData($("#uploadForm")[0]);
            $.ajax({
                  url: root + "/duty/fileup",
                  type: 'POST',
                  data: formData,
                  async: true,
                  cache: false,
                  contentType: false,
                  processData: false,
                  success: function (returndata) {
                      file_value[returndata.name] = returndata.url;
                  
                      
                      $("#uploadForm").prepend('<a href="'+%20root2%20+%20'/public/uploads/'+%20returndata.url%20+'" target="_blank">'+ returndata.name + '</a>'+"<br>");
                  }

            });

        };
    });</code>

附件上传是ajax异步提交,然互生成超链接。

<code>$("#uploadForm").prepend('<a href="'+%20root2%20+%20'/public/uploads/'+%20returndata.url%20+'" target="_blank">'+ returndata.name + '</a>'+"<br>");</code>

但是当textarea点击提交的时候,那么如何把超链接的内容也提交呢?
如果是多个上传文件,如何把上传文件函数返回的值提交呢?应该怎么获取比较方便,是不是我思路是错的?
想了好久想不通如何处理这样的?
给个思路也行,我想试试

你在文件上传的时候已经把上传后的结果保存在了 file_value 这个变量中,
那么在你提交 textarea 里的时候时, 在 data :{'content':vals}, 这个地方, 把 file_value 也传递给后台就可以了.
比如: data:{'content':vals, 'files':file_value},

你发的代码中, 没有 file_value 这个变量定义的地方, 所以此处假设你的这两个 ajax 在触发的时候,都可以访问到这个变量, 且是同一个.

如果是要提交的内容,自然是要放在input里面

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn