2009-12-22 6 views
1

У меня есть страница с кнопкой, и когда она будет нажата, она будет выполнять долговременную задачу асинхронно. Я попытался выполнить проверку на этой кнопке с помощью javascript, и при нажатии на нее появится диалоговое окно подтверждения. Но когда я нажал кнопку «Отменить» в диалоговом окне подтверждения, долговременная задача все равно будет выполнена вместо того, чтобы возвращать false.диалоговое окно подтверждения javascript

Любые идеи? Любая помощь приветствуется!

Code-Behind:

btnPrint.Attributes.Add("onclick", "javascript:submittingID='btnAdd';return validation();") 

Public Sub LongTimeTask() 
    ....... 
End Sub 

Javascript:

function validation() { 
    .... 
    confirmPrint() 
} 

function confirmPrint() { 
     if (confirm("Are you sure you want to print? This process may take up to few minutes.") == true) 
      return true; 
     else 
      return false; 
} 
+1

Этого недостаточно, чтобы вам помочь. можете ли вы опубликовать часть кода, который вы используете? – teepark

ответ

0

validation ничего не возвращает. попробуйте:

function validation() { 
    //... 
    return confirmPrint(); 
} 

Вы также можете удалить, если из confirmPrint. Не меняет поведения, но нет необходимости проверять истинность и возвращает true:

function confirmPrint() { 
    return confirm("Are you sure you want to print?"); 
} 
+0

работает с простым «возвратом»! спасибо .... –

0

Моя догадка из описания вы дали что-то вроде этого:

<a href="javascript:if(confirm('Do you want to run this long task?')){ longTask() };">Link Text</a> 
+0

задача долгого времени не является функцией javascript, поэтому ее нельзя выполнить с клиентской стороны ... –

Смежные вопросы