首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uppy不发送表单数据

Uppy不发送表单数据
EN

Stack Overflow用户
提问于 2019-06-22 16:44:12
回答 1查看 1.1K关注 0票数 0

我使用Uppy作为客户端上传系统的js库。

一切都运行得很好,除了我似乎无法使用jQuery或Javavascript作为meta来获取输入字段的值。

例如:title:'hey',可以工作,但description:$('#description').val(),不能,但它只是发送一个空的value.And,我的服务器不应该接受空值。

在下面的代码中,使用非空值发送的唯一帮助是'titleandimagefields not thedesciptiontags和body` fields.Pls metaFields

这是我的代码:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="csrf-token" content="{{ csrf_token() }}">

<link rel="shortcut icon" type="image/x-icon" href="https://static.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico" />
<link rel="mask-icon" type="" href="https://static.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg" color="#111" />
<title>CodePen - Simple Dashboard</title>

<link rel='stylesheet' href='https://transloadit.edgly.net/releases/uppy/v0.29.1/dist/uppy.min.css'>

<!--del later-->
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"/>
<!--del-->
<script>
  window.console = window.console || function(t) {};
</script>
<script>
  if (document.location.search.match(/type=embed/gi)) {
    window.parent.postMessage("resize", "*");
  }
</script>
<style>
#extraData{
margin-left:5%;
}
</STYLE>
</head>
<body translate="no">
<div id="drag-drop-area">@csrf <!-- {{ csrf_field() }} -->


</div>
<div class="form-group d-none w-50 m-20" id='extraData' >
  <form id ='ExtraForm'>

  <label for="title">Title:</label>
  <input type="text" class="form-control" id="title"><br>
  <label for="description">Description:</label>
  <textarea class="form-control" rows="5" id="description"></textarea><br>
  <label for="tags">Tags:</label>
  <input type="text" class="form-control" id="tags"><br>
</form>
</div>


<script src="https://static.codepen.io/assets/common/stopExecutionOnTimeout-de7e2ef6bfefd24b79a3f68b414b87b8db5b08439cac3f1012092b2290c719cd.js"></script>

<script src='https://transloadit.edgly.net/releases/uppy/v0.29.1/dist/uppy.min.js'></script>
<script id="rendered-js">
      const uppy = Uppy.Core({ autoProceed: false });
      const XHRUpload = Uppy.XHRUpload;

uppy.use(Uppy.Dashboard, { target: '#drag-drop-area', inline: true, height: 450 });
uppy.use(XHRUpload, {
  endpoint: '/upload',
  headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    },

    // metaFields: [meta]
})
uppy.on('file-added', (file) => {
  var v = document.getElementById('title').value;

 $('#extraData').removeClass('d-none');
  uppy.setFileMeta(file.id, {
    size: file.size,
        title:'hey',
        description:$('#description').val(),
        tags:$('#tags').val(),

        body: v,

        type:"image"
      },
  )
})


      //# sourceURL=pen.js
    </script>
EN

回答 1

Stack Overflow用户

发布于 2020-04-21 12:38:46

您应该在Uppy.Core中使用meta来发送表单数据值。例如:

代码语言:javascript
复制
$description = $('#description').val()
Uppy.Core({

        meta: {
            description: $description,
            title : 'hey'
        },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56713984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档