我正在尝试使用bootbox.dialog(...)
显示弹出式窗口。在这个bootbox中,我想放一个input type="file"
并检索上传的文件。如何获取上传的文件?
BOOTBOX (在我的AngularJS控制器中)
bootbox.dialog({
title: "More information",
message: '<div class="row"> ' +
'<div class="col-md12"> ' +
'<form class="form-horizontal"> ' +
'<div class="form-group">' +
'<label class="col-md-3 control-label" for="logo">Logo</label> ' +
'<div class="col-md-4">' +
'<img id="logo" name="logo" class="customerImg"/>' +
'</div>' +
'<span class="btn btn-default btn-file col-md-3">Browse another logo<input type="file" fileread="customerLogo" />' +
'</div>' +
'</form>' +
'</div>' +
'</div>',
buttons: {
danger: {
label: "Cancel",
className: "btn btn-primary"
},
success: {
label: "Generate word",
className: "btn btn-primary",
callback: function () {
console.log(document.getElementById('logo').val());
}
}
}
});
答案 0 :(得分:1)
这与您的问题并不完全相关,但您也可以为您的表单使用模板(通过<script type="text/template">
标记);它会使你当前模板中的一些错误更加明显(你错过了一个结束的跨度,其中一个BS类缺少一个连字符)。这是一个例子:https://jsfiddle.net/fLaa0p4d/
<script type="text/template" id="file-template">
<div class="row">
<div class="col-md-12">
<form class="form-horizontal">
<div class="form-group">
<label class="col-md-3 control-label" for="logo">Logo</label>
<div class="col-md-4">
<img id="logo" name="logo" class="customerImg"/>
</div>
<span class="btn btn-default btn-file col-md-3">
Browse another logo
<input type="file" name="imageFile" fileread="customerLogo" />
</span>
</div>
</form>
</div>
</div>
</script>
bootbox.dialog({
title: "More information",
message: $('#file-template').html(),
buttons: {
danger: {
label: "Cancel",
className: "btn btn-primary"
},
success: {
label: "Generate word",
className: "btn btn-primary",
callback: function () {
console.log(document.getElementById('logo').val());
}
}
}
});
答案 1 :(得分:0)
不允许使用Ng输入文件使用ng-model。
并非所有提供的功能都适用于所有输入类型。具体而言,输入[文件]不支持通过ng-model进行数据绑定和事件处理。
您可以使用文件路径并使用Jquery文件上传功能。
这将有助于您: File Upload using AngularJS