У меня есть форма Ajax в моем приложении. Я хочу передать событие функции OnBegin
, а затем использовать event.preventdefault()
, который остановит форму отправки, а затем при проверке некоторых условий. Я пытаюсь отправить форму вручную. Но это не и я не могу понять, почему.Можно ли передать событие функции OnBegin формы Ajax?
Ajax.BeginFrom:
@using (Ajax.BeginForm("Update", "Project", false, new AjaxOptions { InsertionMode = InsertionMode.Replace,
HttpMethod = "Post",
OnBegin = "return OnBeginForm(event);",
OnSuccess = "OnSuccessArtwork(data);",
OnFailure = "OnFailureArtwork(data);" },
new { id = "Ajax_form" }))
{
// Here I have all the form elements //
<input type="submit" id="btnUpdate" class="btn02 pull-left" value="Update"/>
}
функция OnBegin:
function OnBeginForm(e) {
e.preventDefault();
if(some condition){
$('#Ajax_form').submit();
}
else{
return false;
}
}
Мы не можем вызвать отправке. Это приведет к бесконечному циклу, вместо этого нам придется вручную отправить форму, используя 'on ('submit')'. В любом случае спасибо и +1 с моей стороны. –
@JibinBalachandran, вы столкнулись с бесконечным циклом во время отладки? – stom
Это создает бесконечный цикл, потому что '$ ('Ajax_form'). Trigger ('submit');' запускает событие отправки, которое в свою очередь вызывает 'OnBeginForm()', которое запускает событие отправки, которое вызывает 'OnBeginForm()', которое запускает ..... –