Я новичок в jQuery, поэтому, пожалуйста, несите меня.
Я изо всех сил пытаюсь сделать следующее, чтобы называться по очереди
gvUsers.PerformCallback(); // 1 --> Perform call back (DevExpress grid)
$("#frmUser").submit(); // 2 --> Submit form for processing
var mainElement = gvUsers.GetMainElement();
var x = ASPxClientUtils.GetAbsoluteX(mainElement) + (gvUsers.GetWidth() - 500) / 2;
var y = ASPxClientUtils.GetAbsoluteY(mainElement) + (gvUsers.GetHeight() - 200) / 2;
reminderPopup.ShowAtPos(x, y); // 3 --> Show popup after processing
(1) Механизм обратного вызова jQuery
gvUsers.PerformCallback(function () // 1 --> Perform call back for passing selected keys
{
$("#frmUser").submit(function () // 2 --> Submit form for processing
{
var mainElement = gvUsers.GetMainElement();
var x = ASPxClientUtils.GetAbsoluteX(mainElement) + (gvUsers.GetWidth() - 500) / 2;
var y = ASPxClientUtils.GetAbsoluteY(mainElement) + (gvUsers.GetHeight() - 200) / 2;
reminderPopup.ShowAtPos(x, y); // 3 --> Show popup with submitted data
});
});
И не удалось заставить его работать.
(2) Цепочка, когда и затем
$.when(gvUsers.PerformCallback()).then($("#frmUser").submit()).then(function(){var mainElement = gvUsers.GetMainElement();
var x = ASPxClientUtils.GetAbsoluteX(mainElement) + (gvUsers.GetWidth() - 500) / 2;
var y = ASPxClientUtils.GetAbsoluteY(mainElement) + (gvUsers.GetHeight() - 200) / 2;
reminderPopup.ShowAtPos(x, y);
});
Снова потерпел неудачу.
Можете ли вы направить меня, чтобы выполнить эти три шага один за другим в последовательности?
В вашем первом подходе функция, которую вы передаете в submit, будет вызываться немедленно, это не будет успешным обратным вызовом. вы должны прочитать документ в jquery.
вы можете попробовать это, я не уверен, что это сработает, хотя:
// run this when form submitted
$("#frmUser").bind('ajax:complete', function() {
var mainElement = gvUsers.GetMainElement();
var x = ASPxClientUtils.GetAbsoluteX(mainElement) + (gvUsers.GetWidth() - 500) / 2;
var y = ASPxClientUtils.GetAbsoluteY(mainElement) + (gvUsers.GetHeight() - 200) / 2;
reminderPopup.ShowAtPos(x, y);
});
gvUsers.PerformCallback($("#frmUser").submit);