Я нахожусь в немного ситуации здесь. Я должен переопределить отправку формы, используя JQuery. Одна из моих форм - публикация с использованием формы. Я добавил ajax, прежде чем проверять элементы формы из базы данных, используя ajax, и это действие необходимо выполнить до отправки формы.
Я использовал .one()
, чтобы предотвратить отправку формы по умолчанию и добавил мой ajax вместе с ним. Это мой код:
//submit the form and prevent default submit
$(form_selector).one('submit', function(event){
event.stopPropagation();
event.preventDefault();
this_.triggerAjax($(this));
});
//its a class function
triggerAjax: function(){
$ajax({
..
..
success: function(res){
if(res.success){
showAlert()
return false; //do not allow form to submit
}
else
{
$(form_selector).submit()
}
}
});
}
Теперь я могу запретить отправку формы по умолчанию, но если мне нужно повторно запустить отправку формы, используя Jquery, форма отправляется с использованием метода по умолчанию. Как мне предотвратить это?
Это старая форма, и я не хочу изменять все, что уже было сделано в форме сообщения. Я только хочу, чтобы мой ajax выполнялся до публикации формы, и если ajax возвращает true
, то не публикуйте форму, а если Ajax возвращает 'false' только тогда, отправляйте форму. Кроме того, если ajax не сработало, возможно, из-за его состояния (требуемые переменные недоступны), то позвольте мне повторно запустить кнопку.
Кто-нибудь может помочь? Пожалуйста, не стесняйтесь задавать вопросы, если вам нужно больше понимания ..
Я использую Yii1 в качестве основы и Jquery для Ajax