2012-04-27 4 views
0

Привет, я написал вызов ajax внутри if (подтвердите .... условие, но он не будет на моей странице ajax. Если я напишу $ .get вне if (confirm (.... то он работает нормально.jquery ajax call in confirm button

чем проблема. пожалуйста, скажите мне кто-то.

function ConfirmSave() {  
    if (confirm("Do You Want to Save the test?")) 
    {   
     $.get('../Common/Ajax.aspx',{action:"UpdateExamDuration",UserExamMapID:UserExamMap});   
    }     
    document.location.href = "../Reports/Report-Card.aspx";  
} 
+1

Проверили ли вы, что такое «Confirm („Есть ли у вас ...“)» возвращается? – KBN

+1

Возможно, ваш 'document.location.href =' запускается до вызова ajax? – Nadh

+0

Я думаю, что NADH прав, попробуйте установить 'document.location.href' в обработчике успеха вашего' get' вызова. –

ответ

1

Игнорирование заднюю распорку } (вероятно, просто оставил это там, верно?) он работал на меня, в что запрос ajax был уволен. Я видел это, потому что в FireBug я сохранял режим (это означает, что запрос был все еще видимым после того, как я был перенаправлен с последней строкой). То, что вы хотите сделать, это поставить document.location.href внутри $.get обратного вызова, то есть он будет работать только, когда он закончил:

if (confirm("Do You Want to Save the test?")) 
    {   
     $.get('../Common/Ajax.aspx', {action:"UpdateExamDuration",UserExamMapID:UserExamMap}, function(data){document.location.href = "../Reports/Report-Card.aspx";});   
    }     
} 
+0

спасибо leonard challis, он отлично работает сейчас, если я напишу, как вы сказали –

+0

Ah good :) Не стесняйтесь устанавливать это как принятый ответ, чтобы другие знали тоже;) – LeonardChallis