我似乎无法弄清楚为什么这不起作用。我有一个公告页面,用户可以发布公告供所有人查看。公告发布后,用户可以选择附加他们希望其他用户查看/下载的任何类型的文件。现在,只有从最新发布的公告消息开始,上传才会起作用。因此,除非我上传到第一个公告,否则第二个公告上传将无效。
我不确定为什么会这样。
Above is a sample of what the bulletins look like.
这是我的jquery:
$('.attachment_upload').on('click', '#upload', function(){
bulletin_id = $('input[id^="bulletin_value"]').val();
alert(bulletin_id);
$('#attachment').fileupload({
url:'/phplib/upload_file.php',
multipart: true,
type: "POST",
formData: {
table: 'bulletin',
field: 'id',
id: bulletin_id
},
});
if($('#attachment')[0] !== undefined){
$('#attachment').fileupload('send', {files: $('#attachment')[0].files})
.success(function(result, textStatus, jqXHR){
console.log(jqXHR);
console.log(textStatus);
console.log(result);
apprise("<p style='text-align: center; color: green '>Uploaded successfully. Reloading page... <br><br><img src='/images/ajax-loader.gif' /></p>");
window.setTimeout('location.reload()', 1500); //reloads after 1 second
$('#zoom_close').trigger('click');
}).error(function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
apprise("<p style='text-align: center; ' class='error'>Upload failed. Reloading page... <br><br><img src='/images/ajax-loader.gif' /></p>");
//window.setTimeout('location.reload()', 1500); //reloads after 1 second
//$( "<b>Upload failed.</b>" ).appendTo('.error');
});
}
});
HTML:
<h3>Attachments:</h3>
<p class='attachment_upload bulletin_comment' id='{{bulletin.id}}'>
<input type='file' multiple='multiple' name='attachment[]' id='attachment'><input type='hidden' id='bulletin_value' value='{{bulletin.id}}' /></input>
<input type='button' id='upload' value='Upload'></input><label class='error'></label>
<p class="help-block">Hold the <kbd>ctrl</kbd> key to select multiple files.</p>
<!--<span class='error'></span>-->
</p>
目前,当我在第二个公告上点击上传时,它会提醒我第一个公告的值(这是附件的ID,以便链接到表格中的公告)