2010-08-09 4 views
0

J'ai rencontré un problème en utilisant le prototype AJAX lorsque j'essayais d'inclure une lightbox sur un lien.LIghtbox ne fonctionne pas à l'intérieur de la page web AJAX pilotée par prototype

J'ai testé la visionneuse fonctionne sur la même page en dehors des balises de script, donc je sais que les chemins etc sont corrects.

Lorsque je clique sur ce lien, une boîte devrait apparaître demandant si je veux continuer ou annuler. Cependant, au lieu de cela, il m'envoie à la page réelle plutôt que d'afficher à l'intérieur de la visionneuse.

Je serais très reconnaissant pour toute aide?

Le lien est problématique lightbox

<a>class="lbOn" href="/redbox/confirm_delete/'+crawl_id+'/{{opportunity.id }}/</a> 

Et la fonction complète est la suivante:

function updateCrawlTable() { 
    new Ajax.Request('/redbox/xml/view_opportunity/{{opportunity.id }}/', { 
      method: 'get', 
      onSuccess: function(transport){ 
      var crawlTags = transport.responseXML.getElementsByTagName('row'); 
      for(var r=0; r<crawlTags.length; r++) { 
          crawl_id=crawlTags[r].getElementsByTagName('crawl_id')[0].firstChild.nodeValue; 
          calculating=crawlTags[r].getElementsByTagName('calculating')[0].firstChild.nodeValue; 
          elTR=getTR("crawl"+crawl_id); 
          if(r % 2 == 0){ 
          elTR.className="even"; 
        }else{ 
          elTR.className="odd"; 
        } 
          setTDInnerHTML("crawl_"+crawl_id+"_id",elTR,crawl_id); 
          //special case.... 
          var search_engineTags=crawlTags[r].getElementsByTagName('search_engine'); 
          var text='<ul class="search_engine_list">'; 
          for (var s=0;s<search_engineTags.length;s++){ 
         text+='<li class="search_engine_list">'+search_engineTags[s].firstChild.nodeValue+'</li>'; 
          } 
          text+='</ul>'; 

          setTDInnerHTML("crawl_"+crawl_id+"_search_engine",elTR,text); 

          //the rest are simple(ish) 
          cellTags=crawlTags[r].getElementsByTagName('cell'); 
          for (var c=0; c<cellTags.length;c++) { 
            setTDInnerHTML("crawl"+crawl_id+"cell"+c,elTR,cellTags[c].firstChild.nodeValue); 
          } 
          //apart from these 
          if (calculating=='1'){ 
            calcHTML='<img src="/static_media/images/ajax-loader.gif">'; 
          }else 
          { 
            calcHTML='<a class="ovalbutton" href="javascript:startCalc('+crawl_id+')"><span>Calculate</span></a>'; 
          } 
          setTDInnerHTML("crawl_"+crawl_id+"_delete",elTR,'<a class="lbOn" href="/redbox/confirm_delete/'+crawl_id+'/{{ opportunity.id }}/ "><span>Delete</span></a><br><br>'+calcHTML); 
      setTDInnerHTML("crawl_"+crawl_id+"_view",elTR, 
          '<a class="ovalbutton" href="/redbox/view_crawl/'+crawl_id+'"><span>Raw&nbsp;Output</span></a><br><br> <a class="ovalbutton" href="/redbox/bvm_dashboard/'+crawl_id+'"><span>Dashboard</span></a>'); 
      setTDInnerHTML("crawl_"+crawl_id+"_influence",elTR, 
          '<div class="buttonwrapper"><a class="ovalbutton" href="/redbox/crawl_factor_influence_admin/'+crawl_id+'"><span>Influence</span></a><br><br><a class="ovalbutton" href="/redbox/target_assumptions_admin/'+crawl_id+'"><span>Assumptions</span></a></div>'); 
      } 
      } 
    }); 

}

Merci,

Tom

+0

Premier port d'appel: console d'erreur Javascript. Je suis prêt à parier une bière il y a des messages là-dedans. –

Répondre

0
function updateCrawlTable(e) { // <-- notice e param 
    // bla bla ajax code 

    // try this first 
    e.stop(); 

    // else try: end function with: 
    return false; 
} 
Questions connexes