我遇到问题设置一个文件上传元素,其中cakePHP要在表单中使用,而ajaxSubmit()函数不会发送ajax请求..我的代码如下所示任何想法赞赏
同样在另一个元素中,我非常成功地使用.ajaxForm()方法上传文件。
<script>
$(document).ready(function() {
var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');
$('#frmFileForm1').ajaxForm({
url: 'http://up.dev/admin/pages/file',
beforeSend: function() {
status.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
},
success: function() {
var percentVal = '100%';
bar.width(percentVal)
percent.html(percentVal);
},
complete: function(xhr) {
status.html(xhr.responseText);
reloadfilemanager();
}
});
var options = {
url: 'http://up.dev/admin/pages/file',
iframe: true,
type: 'post',
target: '#status',
data: 'submitBtn'
}
$('button').click(function() {
$('#frmFileForm1').ajaxSubmit(options);
alert("AA");
});
});
</script>
<div>
<?php
//<!-- form for uploading file -->
echo $this->Form->button('Upload File', array( 'name' => 'submitBtn', 'class' => 'btn_submit', 'style' => 'margin-top: 5px; margin-bottom: 5px;', 'type' => 'submit'));
?>
</div>
答案 0 :(得分:0)
我认为你应该改变选择器:
$('button').click(function() {
改为:
$('.btn_submit').click(function() {
由于您的按钮类型为type="submit"
,并且您的选择器定位到那里不可用的type="button"
,所以在我看来。
而不是click
按钮尝试使用submit
事件:
var options = {
url: 'http://up.dev/admin/pages/file',
iframe: true,
type: 'post',
target: '#status',
data: 'submitBtn'
}; //<----add ; here not that much issue with this though
$('#frmFileForm1').submit(function(e) {
e.preventDefault();
$(this).ajaxSubmit(options);
alert("AA");
});