2009-10-01 6 views
2

J'utilise YUI DataTable dans mon application Web. Alors que mon DataTable récupère les données si je ferme cela et que je passe à d'autres DataTable, je reçois toujours le message 'Arrêtez d'exécuter ce script?' confirmez le message. Je veux éviter ce message et je veux arrêter le script dès que je ferme le DataTable. S'il vous plaît donner vos suggestions. S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations. Je fais un appel de service Web à partir de JavaScript pour remplir DataTable. Je soupçonne que cela provoque l'invite. Je besoin d'un moyen d'arrêter le script d'exécuter appel webserviceYUI DataTable - comment éviter 'Arrêtez d'exécuter ce script?' confirmez le message

Affichage DataTable. ShowDialog (DisambigPanel, ReturnElement) document.getElementById ("DisambigList") mise au point();

DisambigDataSource = new YAHOO.util.DataSource(DisData[CurDisType].URL); 
DisambigDataSource.responseType = YAHOO.util.DataSource.TYPE_XML; 
DisambigDataSource.responseSchema = {resultNode: DisData[CurDisType].Node, fields: DisData[CurDisType].Fields};   

var TableConfig = 
{ 
    sortedBy: {key:DisData[CurDisType].SortKey, dir:"asc"}, 
    selectionMode: "single", 
    initialRequest: BuildRequestString(), 
    scrollable: true,   
    width: "940px", 
    height: "340px", 
    renderLoopSize: 20 
}; 

YAHOO.widget.DataTable.MSG_LOADING = "<img src=\"/Images/Wait/DataGrid.gif\" alt=\"Loading animation\"/> Loading..."; 
YAHOO.widget.DataTable.MSG_EMPTY = "No results."; 
DisambigTable = new YAHOO.widget.DataTable("DisambigList", DisData[CurDisType].ColumnHeaders, DisambigDataSource, TableConfig); 

YAHOO.util.Event.removeListener("DisambigList", "keydown"); 
YAHOO.util.Event.addListener("DisambigList","keydown",DisambigKeyDown); 

DisambigTable.subscribe("initEvent",DisambigLoad); 
DisambigTable.subscribe("cellDblclickEvent",DisambigSelect); 
DisambigTable.subscribe("rowSelectEvent",DisambigSelectionChange) 
fonction

ShowDialog (dialogue, returnFocus) { oldFocus = returnFocus; VisibleDialog = dialogue;

dialog.show() 

var x = new YAHOO.util.KeyListener(document, { keys:27 }, { fn: HideDialog, scope:dialog, correctScope:true }); 
x.enable(); 
dialog.cfg.queueProperty("keylisteners", x); 

}

fonction HideDialog() {
// Masquer la boîte de dialogue en cours, si l'on est visible si (VisibleDialog) {// Cacher la boîte de dialogue en cours VisibleDialog.hide () VisibleDialog = null; }

if (OldFocus) 
{ 
    OldFocus.focus(); 
    OldFocus = null; 
} 

}

+1

allez-vous nous montrer du code? – TheVillageIdiot

Répondre

1

Eh bien, pour autant que je me souvienne, ce genre de message est indiqué par FireFox si le script prend trop de temps, ou est dans une boucle infinie. Essayez de vérifier si cela fonctionne dans un autre navigateur en dehors de celui que vous utilisez ...

+0

Je reçois cette invite sur IE 7 – Naga

+2

yah - résoudre le problème, pas le message! – Antony

+0

@Naga - est-ce que IE7 émet le message ou YUI l'émet-il? – aviraldg

Questions connexes