Я пытаюсь, чтобы кнопка «добавить в корзину» выполняла фактическую отправку (перейдите на страницу с добавленной корзиной), если вызов ajax возвращается успешно, в противном случае отобразится сообщение, данное в результате ajax, и фактически не выполняет submit.Отправить форму только после успешной проверки ajax
это то, что я до сих пор
$("#addtocart").submit(function(event){
var data = $(this).serialize();
$.ajax({
type: "POST",
url: "/cart/check",
dataType:"json",
data: data
}).done(function(data){
$("#message").html(data.message);
if (data.success == true) this.submit();
})
event.preventDefault();
});
если удалить event.preventDefault() форма всегда подчиняется независимо от проверки, если я оставить его, он никогда не подчиняется. Возможно, this.submit() не является правильным решением. Я где-то читал, что preventdefault следует называть только если не было никакого успеха на проверки, но если я попробовать
if (data.success == false) event.preventDefault();
она до сих пор отправляет форму независимо от того, если data.success является истинным или ложным
я» d быть настолько благодарным, если у кого-то есть решение о том, как это сделать.
работает как очарование! Спасибо большое. – Sangit