Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отмена отправки формы... (https://javascript.ru/forum/misc/42451-otmena-otpravki-formy.html)

Kandiar 27.10.2013 10:28

Отмена отправки формы...
 
Здравствуйте, проблема следующая:
$(function(){
	$('#forma').on('submit', function(){
		$.post('ajax.php', {
			prm1: 1,
			prm2: 1
		}, function(data){
			
		});
	});
});

Идет запрос на сервак и ворачивает true или false. Так вот как сделать return false для родительской функции, если сервак вернул false?

Должно что-то в этом роде получиться
$(function(){
	$('#forma').on('submit', function(){
		$.post('ajax.php', {
			prm1: 1,
			prm2: 1
		}, function(data){
			if(data == 'false')
			{
				$('#forma').submit(function(){
					return false;
				});
			}
		});
	});
});

Вот код который я выше привел, он не работает. (При таком раскладе сервак не возвращает ответ!)
Надеюсь на вашу помощь ув. форумчане.

Я думаю что проблема в том, что JS не дожидается ответа от сервака. Может сделать синхронный запрос?

ksa 27.10.2013 11:13

Цитата:

Сообщение от Kandiar
как сделать return false для родительской функции, если сервак вернул false?

Как вариант, все гда возвращать false... А вот калбек функция пусть делает отправку формы, если запрос вернул true...

Kandiar 27.10.2013 11:24

Цитата:

Сообщение от ksa (Сообщение 278274)
Как вариант, все гда возвращать false... А вот калбек функция пусть делает отправку формы, если запрос вернул true...

Об этом уже думал, но может еще есть каие-то то варианты?

danik.js 27.10.2013 11:36

Цитата:

Сообщение от Kandiar
Об этом уже думал, но может еще есть каие-то то варианты?

Интересует что-нибудь из области фантастики или магии? Чем тривиальное решение не устраивает?

ruslan_mart 27.10.2013 13:13

$(function(){
	$('#forma').on('submit', function(){
		var self = this;
		$.post('ajax.php', {
			prm1: 1,
			prm2: 1
		}, function(data){
			if(data == 'true') self.submit();
		});
	});
});


Часовой пояс GMT +3, время: 23:53.