【发布时间】:2014-11-23 00:22:36
【问题描述】:
当我想使用 jQuery ajaxForm 时遇到一个非常奇怪的问题。
我想设置表单并上传具有进度百分比的文件。
我的 ajaxForm 函数根本没有触发。
这是我的代码,但我找不到问题所在,因为我没有收到错误。
function recieve(res,obj)
{
var frm = res.substr(1,res.length-8);
$('#'+frm).find('.error').each(function(){ $(this).remove(); });
if(obj['alert']!=undefined) $(res).html(obj['alert']);
if(obj['field']!=undefined) {
for(var i in obj['field'])
{
/*$("#"+i).next('.error').remove();*/
if(obj['field'][i]!='') $("#"+i).after('<div class="error avesome OC OBC">'+obj['field'][i]+'</div>');
}
}
if(obj['msgbox']!=undefined) alert(obj['msgbox']);
if(obj['location']!=undefined) document.location = obj['location'];
}
function sendAjax(form,response,loader,progress)
{
var frm = $(form);
frm.ajaxForm({
dataType: 'json',
data: frm.serialize()+'&_ajax=1',
beforeSend: function(){
$("input[type='submit']").attr('disabled','disabled');
$(progress).width('0%').parent('.progress').removeClass('hidd');
},
uploadProgress: function(event, position, total, percentComplete){
var pVel = percentComplete + '%';
$(progress).width(pVel);
},
complete: function(data){
recieve(response,unserialize(data));
$(progress).parent('.progress').addClass('hidd');
$("input[type='submit']").attr('disabled',null);
}
});
return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="setting_form" action="http://127.0.0.1/marketing/users/setting/" method="post" onsubmit="return sendAjax('#setting_form','#setting_form_result','#setting_form_loader','#setting_form_progress');">
<input type="hidden" name="_submit" value="1" />
<input type="hidden" name="data[setting][id]" id="setting_id" value="11" />
<input type="hidden" name="data[setting][data-token]" id="setting_data-token" value="8022735" />
<input type="hidden" name="data[setting][token]" id="setting_token" value="90e18fe55fbc38708456606f4b2b3f96" />
<input type="submit" name="data[setting][submit]" id="setting_submit" value="send" />
<div id="setting_form_progress" class="bar fade"></div>
<div id="setting_form_result"></div>
</form>
【问题讨论】:
-
您可以尝试在您的
sendAjax函数中添加警报,看看它是否有效? -
是的,ajaxform 不起作用?
-
你是否在
sendAjax函数中加入了警报??当你跑的时候没有警报来了?? ryt ?
标签: javascript jquery ajax file-upload ajaxform