简历表格提交后阿贾克斯$电话 [英] Resume form submission after $.ajax call
本文介绍了简历表格提交后阿贾克斯$电话的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎样才能恢复jQuery的AJAX调用后/停止表单提交?
我已经MVC应用程序,我打电话通过 JSON
的行动,我想停止表单提交,如果结果出来虚假和恢复,如果结果实现了。
jQuery的:
$(#formElem)。递交(函数(五){
亦即preventDefault();
$阿贾克斯({
网址:'@ Url.Action(检查,TimeRanges)',
键入:GET,
数据:{startRange:$('#SelectedStartTimeRange)VAL(),endRange:$('#SelectedEndTimeRange)VAL()},
aync:假的,
数据类型:JSON,
成功:功能(数据){
如果(数据== FALSE){
$(#rangeexist)HTML(错误)。
返回false;
}其他{
返回true;
}
}
});
});
动作
公共JsonResult检查(字符串startRange,串endRange)
{
VAR的结果=假;
如果(String.IsNullOrEmpty(startRange)及!&安培;!String.IsNullOrEmpty(endRange))
{
时间跨度spanStart;
TimeSpan.TryParse(startRange,出spanStart); 时间跨度spanEnd;
TimeSpan.TryParse(endRange,出spanEnd); 变种timeRangExisted = _repo.All()其中(x => x.TimeFrom.Equals(spanStart)及&放大器; x.TimeTo.Equals(spanEnd))。了ToList();
如果(!timeRangExisted.Any())
结果=真;
} 返回JSON(结果,JsonRequestBehavior.AllowGet);
}
解决方案
VAR ajaxSent = FALSE;
$(#formElem)。递交(函数(五){
如果(!ajaxSent)
亦即preventDefault();
$阿贾克斯({
网址:'@ Url.Action(检查,TimeRanges)',
键入:GET,
数据:{startRange:$('#SelectedStartTimeRange)VAL(),endRange:$('#SelectedEndTimeRange)VAL()},
aync:假的,
数据类型:JSON,
成功:功能(数据){
如果(数据== FALSE){
$(#rangeexist)HTML(错误)。
ajaxSent = TRUE;
$(#formElem)提交()。 //类似的东西....
返回false;
}其他{
返回true;
}
}
});
});
How can I resume/stop form submission after jQuery ajax call?
I have MVC application, I'm calling an action by json
, I want to stop form submission if result came false and to resume if result came true.
Jquery:
$("#formElem").submit(function (e) {
e.preventDefault();
$.ajax({
url: '@Url.Action("Check", "TimeRanges")',
type: "GET",
data: {startRange: $('#SelectedStartTimeRange').val() , endRange: $('#SelectedEndTimeRange').val()},
aync: false,
dataType: 'json',
success: function (data) {
if(data == false) {
$("#rangeexist").html('Error');
return false;
} else {
return true;
}
}
});
});
Action
public JsonResult Check(string startRange, string endRange)
{
var result = false;
if (!String.IsNullOrEmpty(startRange) && !String.IsNullOrEmpty(endRange))
{
TimeSpan spanStart;
TimeSpan.TryParse(startRange, out spanStart);
TimeSpan spanEnd;
TimeSpan.TryParse(endRange, out spanEnd);
var timeRangExisted = _repo.All().Where(x => x.TimeFrom.Equals(spanStart) && x.TimeTo.Equals(spanEnd)).ToList();
if (!timeRangExisted.Any())
result = true;
}
return Json(result, JsonRequestBehavior.AllowGet);
}
解决方案
var ajaxSent = false;
$("#formElem").submit(function (e) {
if ( !ajaxSent )
e.preventDefault();
$.ajax({
url: '@Url.Action("Check", "TimeRanges")',
type: "GET",
data: {startRange: $('#SelectedStartTimeRange').val() , endRange: $('#SelectedEndTimeRange').val()},
aync: false,
dataType: 'json',
success: function (data) {
if(data == false) {
$("#rangeexist").html('Error');
ajaxSent = true;
$("#formElem").submit(); // something like that ....
return false;
} else {
return true;
}
}
});
});
这篇关于简历表格提交后阿贾克斯$电话的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文