Во-первых, у вас есть некоторые синтаксические ошибки.Возможно, это просто проблема, как указано выше, а не в вашем реальном коде.Но убедитесь, что тело вашей функции ошибок и успеха заключено в фигурные скобки, а не в скобки.
Поэтому вместо этого:
error: function (xhr, textStatus, errorThrown)(
alert(errorThrown);),
У вас должно быть следующее:
error: function (xhr, textStatus, errorThrown) {
alert(errorThrown);
},
Во-вторых, обновление вашей сетки находится за пределами функции успеха вызова ajax.Поскольку этот вызов асинхронный, обновление сетки, скорее всего, будет запущено до завершения этого вызова.Переместите обновление в функцию обратного вызова, например:
success: function (response1, textStatus, jqXHR){
ColdFusion.Grid.refresh('candidatesGrid', true);
alert('success');
}
В-третьих, если содержимое cfdiv загружается асинхронно и элемент #candidatesubmit
находится внутри этого динамически загружаемого содержимого, ваша функция будетне быть связанным с его click
событием, потому что оно не будет присутствовать при запуске события ready
на главной странице.
Поэтому вместо прямой привязки к элементу используйте стратегию делегирования, прослушивая событияна включающий элемент, который, как вы знаете, будет присутствовать при начальной загрузке страницы.Поэтому вместо этого:
$('#candidatesubmit').on('click', function () {
Попробуйте что-то вроде этого:
$('#some_outer_div').on('click','#candidatesubmit', function () {
#some_outer_div
теперь будет прослушивать любые события щелчка, всплывающие из его дочерних элементов (даже те, которыене присутствовали при первой загрузке страницы).Если целью одного из этих кликов является #candidatesubmit
, обработчик сработает.