Heim > Backend-Entwicklung > PHP-Tutorial > 文件上传+textarea 提交的问题?

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:25:40
Original
1398 Leute haben es durchsucht

<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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

但是当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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

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

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

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

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

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage