[英]Upload file using AJAX in CodeIgniter Still executed even the value is null/undefined
如果文件尚未输入,我想执行另一个ajax。 但是它仍然发布表单动作。
这是我的查看代码:
<form method="POST" id="quiz_file" action="<?php echo site_url('home/upload_quiz/' . $kelas);?>" enctype="multipart/form-data">
<input name="filequiz" id="filequiz" type="file" />
</form>
这是我的JS:
$('#submitquiz').on('click', function(event) {
var inputFile = $('input[name=filequiz]');
document.getElementById('submitquiz').disabled = true;
var fileToUpload = inputFile[0].files[0];
// make sure there is file to upload
if (undefined != fileToUpload)
{
var uploadURI = $('#quiz_file').attr('action');
var formData = new FormData();
formData.append("file", fileToUpload);
alert('if');
$.ajax({
url: uploadURI,
type: 'post',
data:
{
formData : formData,
asid : asid_quiz,
value : cmbValue
},
processData: false,
contentType: false,
success: function(data)
{
}
});
}
else
{
alert('else');
$.ajax(
{
type: 'POST',
url:'<?php echo site_url("home/assignment_score"); ?>',
data:
{
asid : asid_quiz,
value : cmbvalue,
kelas : <?php echo $kelas;?>,
dataType:"JSON"
},
success: function(data)
{
console.log('asdasd' + data);
alert('Quiz score submitted');
}
});
当我刚执行它时,它显示警报消息“ else”。 但是它仍然从表单动作执行上载动作。
这怎么可能发生? 如何停止执行上载操作并在“其他”侧执行另一个ajax请求?
如果您的submitquiz按钮类型为submit,则必须防止单击时发生submit事件,也可以将其更改为输入类型按钮。
如果您要使用ajax发送数据,我也更喜欢您,那么您必须使用输入按钮而不是提交
$('#submitquiz').on('click', function(event) {
event.preventDefault();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.