2009-12-22 8 views
1

J'ai une page avec un bouton et quand il est cliqué, il va exécuter une tâche de longue date de manière asynchrone. J'ai essayé d'implémenter la validation sur ce bouton en utilisant javascript et une boîte de dialogue de confirmation apparaîtra quand on cliquera dessus. Mais quand j'ai cliqué sur 'Annuler' dans la boîte de dialogue de confirmation, la tâche à long temps sera toujours exécutée au lieu de retourner faux.javascript confirmation boîte de dialogue

Une idée les gars? Toute aide est appréciée!

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

ce n'est pas assez d'informations pour vous aider. pouvez-vous poster une partie du code que vous utilisez? – teepark

Répondre

0

validation ne retourne rien. essayez:

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

Vous pouvez également supprimer le cas de confirmPrint. Ne change pas le comportement, mais pas besoin de vérifier pour vrai et retourner vrai:

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

cela fonctionne avec juste un simple 'retour'! merci ... –

0

Je pense de la description que vous avez donnée est quelque chose comme ceci:

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

la tâche de temps longue n'est pas une fonction javascript, donc elle n'a pas pu être exécutée du côté du client ... –

Questions connexes