Видите ли вы что-то не так в этом switch
утверждении. IE8 выполняет шаг 3 дважды. В этом проблема.
function controlLoader(step) {
switch (step) {
case 1:
$.rayanAjax('/NewSitePurchaseWizard.aspx/GetSiteTitle', null, function (result) {
$('#contents-holder').html(result);
}, null, $('#wizardWrapper'));
break;
case 2:
$.rayanAjax('/NewSitePurchaseWizard.aspx/GetTemplates', null, function (result) {
$('#contents-holder').html(result);
}, null, $('#wizardWrapper'));
break;
case 3:
$.rayanAjax('/NewSitePurchaseWizard.aspx/GetSubDomain', null, function (result) {
$('#contents-holder').html(result);
}, null, $('#wizardWrapper'));
break;
case 4:
$.rayanAjax('/NewSitePurchaseWizard.aspx/GetLogin', null, function (result) {
if (result.substr(0, 8) == 'userName') {
$('#userName').val(result.substr(9));
} else {
$('#contents-holder').html(result);
}
}, null, $('#wizardWrapper'));
break;
case 5:
var data = { userName: '', templateName: '', lookName: '', subDomain: '', siteTitle: '' };
data.userName = $('#userName').val();
data.templateName = $('#templateName').val();
data.lookName = $('#lookName').val();
data.subDomain = $('#subdomain').val();
data.siteTitle = $('#siteTitle').val();
$.rayanAjax('/NewSitePurchaseWizard.aspx/CreateSite', data, function (result) {
$('#contents-holder').html(result);
}, function (error) {
alert(error.Message);
}, $('#wizardWrapper'));
break;
}
}
Обновление:
Мой сценарий таков: у меня есть мастер с 5 шагами, и на каждом шаге, когда пользователь взаимодействует с этим шагом, он нажимает кнопку «Далее». При нажатии следующей кнопки я проверяю шаг и, если он действителен, я просто вызываю эту функцию, передавая индекс следующего шага. При загрузке следующего шага я просто заменяю HTML содержимого мастера на HTML, отправленный с сервера. Все (все шаги) работают нормально, но шаг 3. Я удалил все из шага 3 (создал пустой шаг), но case 3
все равно выполняется дважды. adjustStep()
Функция просто устанавливает высоту текущего мастера (не более).