当我想使用jQuery ajaxForm时,我得到一个非常奇怪的问题。ajaxForm不工作,不返回错误
我想设置窗体并有进度百分比上传文件。
我的ajaxForm函数根本没有触发。
这里是我的代码,但我不能找出问题在哪里,因为我没有得到任何错误。
function recieve(res,obj)
{
\t var frm = res.substr(1,res.length-8);
\t $('#'+frm).find('.error').each(function(){ $(this).remove(); });
\t if(obj['alert']!=undefined) $(res).html(obj['alert']);
\t if(obj['field']!=undefined) {
\t \t for(var i in obj['field'])
\t \t {
\t \t \t /*$("#"+i).next('.error').remove();*/
\t \t \t if(obj['field'][i]!='') $("#"+i).after('<div class="error avesome OC OBC">'+obj['field'][i]+'</div>');
\t \t }
\t }
\t
\t
\t if(obj['msgbox']!=undefined) alert(obj['msgbox']);
\t if(obj['location']!=undefined) document.location = obj['location'];
}
function sendAjax(form,response,loader,progress)
{
\t var frm = $(form);
\t frm.ajaxForm({
\t \t dataType: 'json',
\t \t data: frm.serialize()+'&_ajax=1',
\t \t
\t \t beforeSend: function(){
\t \t \t $("input[type='submit']").attr('disabled','disabled');
\t \t \t $(progress).width('0%').parent('.progress').removeClass('hidd');
\t \t },
\t \t
\t \t uploadProgress: function(event, position, total, percentComplete){
\t \t \t var pVel = percentComplete + '%';
\t \t \t $(progress).width(pVel);
\t \t },
\t \t
\t \t complete: function(data){
\t \t \t recieve(response,unserialize(data));
\t \t \t $(progress).parent('.progress').addClass('hidd');
\t \t \t $("input[type='submit']").attr('disabled',null);
\t \t }
\t });
\t 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'功能,看看它的工作原理插入代码? – Hitesh 2014-09-28 15:19:17
是的,ajaxform不工作? – Pooya 2014-09-29 08:22:33
你是否在'sendAjax'函数中放置了警告? 当你运行没有警报来? ryt? – Hitesh 2014-10-01 18:11:49