【问题标题】:ajaxForm is not working and not returning errorajaxForm 不工作且不返回错误
【发布时间】: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


【解决方案1】:

我猜你错过了这个库 http://malsup.com/jquery/form/ 在后面插入代码 jQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>  

【讨论】:

  • 我认为json有问题响应代码不正确它发生在我身上一次并且它没有显示任何错误只是js停止
猜你喜欢
  • 2011-06-02
  • 2018-05-23
  • 2011-09-30
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多