我有一个表单,我想用户上传文件,但页面无法刷新。但是对于当前的脚本,确实如此。
JS:
$(function () { // Inserts data into SQL table without refreshing
$('#mailattachment').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'functions/glist-MailAttachment.php',
contentType: attr('enctype', "multipart/form-data"),
data: $('#mailattachment').serialize(),
cache: false,
success: function (response) {
if(response == 8 || response == 9){
}
evt.preventDefault();
return false;
}
});
e.preventDefault();
});
});
HTML:
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Add Attachment</h4>
</div>
<div class="modal-body">
<div class="row">
<form method="post" enctype="multipart/form-data" id="mailattachment">
<div class="col-md-12 clearfix"></div>
<div class="form-group">
<label class="col-sm-3 control-label">Select File</label>
<div class="col-sm-9">
<input type="file" name="file" id="file">
</div>
</div>
<input type="submit" name="submit" value="Submit">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</form>
如果我只设置表单的操作而不是ID,则上传工作正常。但是我使用这个JS来处理我的PHP脚本,以便将内容添加到SQL数据库中。现在我已经看到你必须添加这一行: contentType:attr('enctype',“multipart / form-data”),
但是这会让它刷新而不会上传文件。
所以我的问题是,JS有什么问题?