Не могу отложить или задержать ColdFusion.navigate (), ColdFusion.Ajax.submitForm () - PullRequest
1 голос
/ 26 ноября 2011

Возможно, что-то не так с функциями Ajax в Coldfusion, но я не могу понять это ... Я просто пытаюсь опубликовать некоторые данные, используя ColdFusion.Ajax.submitForm, а затем загрузить новый контент в #CartPopup, используя ColdFusion.navigate.Мне нужно Details.cfm, чтобы завершить обработку данных формы перед загрузкой Div.

function add2Cart(prodid){
    var submit = ColdFusion.Ajax.submitForm('AddToCart', 'Details.cfm');
    setTimeout("navigate(prodid)", 2000);
}

function navigate(prodid){
    ColdFusion.navigate('divbind.cfm?PRODID='+ prodid,'CartPopup','CB','EH');
    return false;   
}

Возможно, задержка - не лучший способ.Я думал об использовании:

jQuery.when

, но мне интересно, может быть, моя проблема, если с функциями ajax CF ... Я очень благодарен за любые идеи или альтернативные подходы.

Спасибо!

1 Ответ

2 голосов
/ 26 ноября 2011

Ваш первый фрагмент кода должен быть:

function add2Cart(prodid){
    ColdFusion.Ajax.submitForm(
        'AddToCart',
        'Details.cfm',
        function() { navigate(prodid); },
        function() { alert('Error happened - form was not submitted'); }
   );
}

Как вы можете видеть здесь submitForm может получить 2 обработчика обратного вызова, один после отправки и один для ошибкиобработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...