最终想实现的功能是,在一个表单内,通过动态增加文本框和上传图片功能,不限制数量的设置图片和图片标题在最外层用一个form表单统一提交所有的图片链接、图片标题。
网上找的php ajax上传图片,我在使用动态增加文本框和上传图片时,将“获取”按钮绑定事件。就可以在新生成的UL中,获取当前UL下title[]的值。想用类似方法在新生成的UL中点击按钮实现上传。发现jQuery中直接是new了一个对象出来。不知道该如何绑定。
现在点击默认的上传按钮,可以实现上传。但动态生成出来的上传按钮就点击无效。
代码中引入的plupload.full.min.js的文档是http://chaping.github.io/plup...
<!DOCTYPE html>
<html>
<head>
</head>
<script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script>
<script type="text/javascript" src="plupload.full.min.js"></script>
<script type="text/javascript">
$(function() {
var uploader = new plupload.Uploader({ //创建实例的构造方法
runtimes: 'html5,html4',
//上传插件初始化选用那种方式的优先级顺序
browse_button: 'btn',
// 上传按钮
url: "ajax.php",
filters: {
max_file_size: '500kb',
//最大上传文件大小(格式100b, 10kb, 10mb, 1gb)
mime_types: [ //允许文件上传类型
{
title: "files",
extensions: "jpg,png,gif"
}]
},
multi_selection: false,
//true:ctrl多文件上传, false 单文件上传
init: {
FilesAdded: function(up, files) { //文件上传前
if ($("#ul_pics").children("li").length > 30) {
alert("您上传的图片太多了!");
uploader.destroy();
} else {
var li = '';
plupload.each(files,
function(file) { //遍历文件
// li += "<li id='" + file['id'] + "'><div class='progress'><span class='bar'></span><span class='percent'>0%</span></div></li>";
});
// $("#ul_pics").append(li);
uploader.start();
}
},
// UploadProgress: function(up, file) { //上传中,显示进度条
// $("#" + file.id).find('.bar').css({
// "width": file.percent + "%"
// }).find(".percent").text(file.percent + "%");
// },
FileUploaded: function(up, file, info) { //文件上传成功的时候触发
var data = JSON.parse(info.response);
$(".pics").attr('src',data.pic);
$(".res").val(data.name);
// $("#" + file.id).html("<div class='img'><img src='" + data.pic + "'/></div><p>" + data.name + "</p>");
},
Error: function(up, err) { //上传出错的时候触发
alert(err.message);
}
}
});
uploader.init();
$("#add").click(function(){
var a = '\
<ul class="list">\
<li><a id="huoqu">获取</a></li>\
<li><input class="title" name="title[]"></input></li>\
<li><input class="res" name="res[]"></input></li>\
<li><img class="pics" name="pics[]" src="https://www.baidu.com/img/baidu_jgylogo3.gif"></img></li>\
<li>\
<a class="btn" id="btn" style="color: red;background-color: yellow;cursor: pointer;">上传图片</a>\
</li>\
</ul>\
';
$(a).appendTo("#content");
});
$("#content").delegate("#huoqu","click",function(){
console.log($(this).parent().parent().find(".title").val());
});
});
</script>
<body> <ul id="ul_pics" class="ul_pics clearfix"></ul>
<a id="add">增加</a>
<a id="del">删除</a>
<div id="content">
<ul class="list">
<li><a id="huoqu">获取</a></li>
<li><input class="title" name="title[]" value="title[]">title[]</input></li>
<li><input class="res" name="res[]" value="res[]">res[]</input></li>
<li><img class="pics" name="pics[]" src="https://www.baidu.com/img/baidu_jgylogo3.gif"></img></li>
<li>
<a class="btn" id="btn">上传图片</a>
</li>
</ul>
</div>
</body>
</html>
- 6 回答
- 0 关注
- 521 浏览
添加回答
举报
0/150
提交
取消