Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505

    attendere completamento windows.open

    salve. ho la necessità di attendere il caricamente di una determinata pagina (che si apre tramite windows.open) e poi eseguire il codice sottostante (che altro non è che una chiamata ajax). il codice è il seguente :
    codice:
    function recentEdits(trackid, newlabelid) {
    	window.open('./index.php?status=history&trackid='+trackid, 'titolo', 'width=1013, height=640, resizable, status, scrollbars=1, location');
    
    	$.ajax({
    		type: "POST",
    		url: "./asynch/asynchf.php",
    		data: "trackid="+trackid+"&id=redit",
    		success: function(msg){
    			$("#redits").text(msg+" Unreads");
    
    		    $("#newlabel1"+newlabelid).css("background-color", "transparent");
    		    $("#newlabel1"+newlabelid).css("color", "#FF9900");
    			
    			$("#newlink"+newlabelid).removeClass('tracklistnew');
    			$("#newlink"+newlabelid).addClass('tracklistnotnew');			
    			
    			$("#newlabel2"+newlabelid).text("");
    		}
    	});	
    }
    voi direte : fai una chiamata ajax tramite un altra funzione posta alla fine della pagina che devi attendere (in questo caso history) : si potrebbe, ma questa funzione viene chiamata da un altra pagina, cui passo un ulteriore parametro (newlabelid) che mi identifica il div che devo modificare una volta effettuata la chiamata ajax. passarlo come parametro è abbastanza scocciante (per una serie di motivi). esiste un metodo? avevo pensato al document.ready() di jquery, ma non sò se è applicabile a una windows.open (o almeno, non saprei come implementarlo).

    cordiali saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    nessuna idea?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da markzzz
    nessuna idea?
    A capirti forse, ti ricordo che non si deve obbligatoriamente usare ajax e jquery ovunque e comunque, a volte può bastare anche un semplice querystring
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    io praticamente devo fare questo :

    1 - caricare una pagina "popup" php (che scrive qualcosa sul database)
    2 - una volta caricata, fare una chiamata ajax che legge qualcosa dal database e che mi modifichi un div

    e, come espresso, devo attendere che la pagina popup sia caricata prima di partire con ajax;

    ho usato jquery e ajax perchè mi sembrava una buona idea (e a dire il vero anche per sperimentare questa tecnologia).

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    11
    Potresti chiamare una funzione js dell'opener all'onload (o domready) della popup...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    eh esatto, è quello che cercavo di chiedere prima (evidentemente in maniera contorta).

    volevo usare jquery perchè sò che è cross-browser; l'onLoad magari può dare problemi tra browser diversi (forse?); ricordo di aver riscontrato parecchi problemi con l'onClose tempo fà...

    in ogni caso come potrei fare per implementare una onLoad su una windows.open?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    11
    Originariamente inviato da markzzz
    [...] ricordo di aver riscontrato parecchi problemi con l'onClose tempo fà [...]
    Sicuramente ti ha creato problemi, non mi pare esista quell'evento.

    Nel sorgente della tua popup metti un bel
    codice:
    onload = function() {
        window.opener.funzione();
    }
    Con funzione dichiarata nella pagina che apre la popup.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    allora forse era onunload...

    comunque il problema è appunto questo : se uso questo metodo devo passare un ulteriore parametro alla popup (che mi identifica il numero di id da modificare quando eseguo la chiamata ajax); per quello volevo utilizzare l'attesa della pagina e poi andare avanti. evidentemente dovrò passare questo benedetto parametro e farlo in questo modo anche se un pò mi scoccia.

    e poi a stò punto sul popup mi conviene utilizzare jquery con document.ready no? (sempre per il discorso cross browser)

    p.s. ovviamente se quella funzione la intendi come la funzione ajax... sennò ho capito male!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.