我一直在敲打这个好几个小时,所以希望有人可以提供帮助。当文件上传到dropzone框时,我正在尝试获取行id或表单id。我有多个带有多个dropzone框的表行。
这是我表格中的一个示例行:
<table class="docs" id="show">
<tr class="doc" id="*Need_This*">
<td>
<div class="file_upload drop">
<form class="dropzone clickable" id="*Or_Need_This*">
</form>
</div>
</td>
</tr>
</table>
这是我的jquery:
<script type="text/javascript">
$(document).ready(function(){
$(".dropzone").dropzone({
paramName: 'photos',
url: "post.php",
dictDefaultMessage: "Drag or Click",
clickable: true,
enqueueForUpload: true,
init: function() {
var id = $(this).closest('tr').attr('id');
this.on("success", function(file) { alert(id); });
}
});
});
</script>
现在它正在返回undefined。我需要获取id,以便我可以将css更改附加到行上的其他元素。非常感谢任何帮助!
答案 0 :(得分:4)
this
是指Dropzone实例,而不是元素本身!如果您需要访问dropzone的实际元素,请使用dropzone.element
。
所以你可以这样做:var id = $(this.element).etc...
。
希望有所帮助。
答案 1 :(得分:2)
在文档中,您可以阅读:
获取服务器响应作为第二个参数
试试这个:
this.on("success", function(file,rep) {
alert(file);
alert(rep); //The response
});