Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517

    Problemi con recupero variabili da popup

    Salve ragazzi, ho già dato un'occhiata ma le soluzioni trovate nel forum non funzionano.

    Allora vi illustro la situazione.
    Dalla pagina principale richiamo un popup(1) e fin qui tutto bene , nel popup(1) seleziono un'elemento e con un tasto faccio aprire una nuovo popup(2) con all'interno l'elemento selezionato nel popup(1) anche fin qui tutto bene tranne che per il fatto che se volessi chiudere il popup(1) con self.close() nel popup(2) non viene più visualizzato l'elemento,(Primo problema). L'altro problema sta nel fatto che nel popup(2) devo selezionare un'altro elemento e passare elemento del popup(1) ed elemento del popup(2) nella pagina principale, come posso fare?

    grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Secondo me se vuoi sperare in una risposta devi mettere (anche se da errori) una pagina demo pubblica con tutte le popup nella speranza che vedendo il tutto in funzione si capisca meglio i tuoi intenti, altrimenti la vedo dura.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    Originariamente inviato da cavicchiandrea
    Secondo me se vuoi sperare in una risposta devi mettere (anche se da errori) una pagina demo pubblica con tutte le popup nella speranza che vedendo il tutto in funzione si capisca meglio i tuoi intenti, altrimenti la vedo dura.
    Scusatemi provvedo subito:

    allora la pagina principale è questa dove alla fine mi devono ritornare i due valori:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html> <head> <title>Reportistica-Magazzino</title> </head> <body> <script LANGUAGE="JavaScript"> function lotto(anystr){         document.calc.nomeArticolo.value = anystr }  </script>   <script type='text/javascript'> 	function aggiungiRigaA(id_table){ 	     var table = document.getElementById(id_table); 	     var tbody = table.getElementsByTagName('tbody')[0]; 	     var colonne = table.getElementsByTagName('th').length; 	     var tr = document.createElement('tr'); 	     for(var i=0; i<colonne; i++){ 	          var td = document.createElement('td'); 	          var tx = document.createTextNode(prompt("Inserisci testo per cella "+(i+1),"")); 	          td.appendChild(tx); 	          tr.appendChild(td); 	     } 	     tbody.appendChild(tr); 	} 	</script>     <script type='text/javascript'> 	function aggiungiRigaB(id_table){  	     var table = document.getElementById(id_table); 	     var tbody = table.getElementsByTagName('tbody')[0]; 	     var tr = document.createElement('tr'); 			     		    var table = document.getElementById(id_table); 	     var tbody = table.getElementsByTagName('tbody')[0]; 	     var tr = document.createElement('tr'); 	      	          var td = document.createElement('td'); 	          var tx = PopupCentrataMateriePrime(); 						 	          td.appendChild(tx); 	          tr.appendChild(td); 	     	     tbody.appendChild(tr); 	} 	 	 	function PopupCentrataMateriePrime() {   var w = 400;   var h = 100;   var l = Math.floor((screen.width-w)/2);   var t = Math.floor((screen.height-h)/2);       window.open("selezione_materia.php","","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l); }  </script>           <table border='2' id='TabellaSemelavorato' class='tabella' cellspacing='0' cellpadding='0'> 	<thead><tr><th>Lotto</th><th>Quantità</th></tr></thead> 	<tbody> 	 	</tbody> </table>
     <input type='button' value='Aggiungi PRODOTTO' onClick="aggiungiRigaB('TabellaSemelavorato')" />     </body> </html>
    vi spiego in sintesi cosa fa, questa richiama un popup da cui bisogna selezionare un valore ovvero questo:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <?php  include("lotto/gestioneMaterie.php"); $tab = new tabella(); ?> <html> <head> <title>Selezione Prodotto</title> </head> <body> <?php $tab->creazTabProdotti(); ?>  </body> </html>
    da qui richiamo un secondo popup da cui recupero il secondo valore... il codice è il sequente:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html> <head> <title>Quantità Presa</title> </head> <body onload="document.calc.nomeArticolo.value = window.opener.variabile;">  <script LANGUAGE="JavaScript"> function fine(lotto,quantita){ q=quantita; l=lotto; }  </script>  <script LANGUAGE="JavaScript">  function pad(anystr) {         document.calc.shownum.value += anystr }  function calcit() {         document.calc.shownum.value = eval(document.calc.shownum.value) }  function clearit() {         document.calc.shownum.value = "" }  function backspace() {         curvalue = document.calc.shownum.value         curlength = curvalue.length         curvalue = curvalue.substring(0,curlength-1)         document.calc.shownum.value = curvalue }  </script>   <map NAME="calcmap"> <area SHAPE="RECT" COORDS="10,80,40,106" HREF="javascript:pad('1')"> <area SHAPE="RECT" COORDS="49,80,78,106" HREF="javascript:pad('2')"> <area SHAPE="RECT" COORDS="88,79,117,106" HREF="javascript:pad('3')"> <area SHAPE="RECT" COORDS="128,81,158,105" HREF="javascript:pad('+')"> <area SHAPE="RECT" COORDS="11,115,39,141" HREF="javascript:pad("0")"> <area SHAPE="RECT" COORDS="49,115,78,142" HREF="javascript:pad('.')"> <area SHAPE="RECT" COORDS="89,116,119,141" HREF="javascript:calcit()"> <area SHAPE="RECT" COORDS="128,116,158,142" HREF="javascript:pad('-')"> <area SHAPE="RECT" COORDS="167,80,194,105" HREF="javascript:pad('*')"> <area SHAPE="RECT" COORDS="167,116,196,141" HREF="javascript:pad('/')"> <area SHAPE="RECT" COORDS="11,43,39,71" HREF="javascript:pad('4')"> <area SHAPE="RECT" COORDS="50,45,77,69" HREF="javascript:pad('5')"> <area SHAPE="RECT" COORDS="88,44,117,71" HREF="javascript:pad('6')"> <area SHAPE="RECT" COORDS="127,44,158,71" HREF="javascript:pad(')')"> <area SHAPE="RECT" COORDS="165,43,196,70" HREF="javascript:backspace()"> <area SHAPE="RECT" COORDS="10,7,40,33" HREF="javascript:pad('7')"> <area SHAPE="RECT" COORDS="48,7,81,35" HREF="javascript:pad('8')"> <area SHAPE="RECT" COORDS="87,7,117,34" HREF="javascript:pad('9')"> <area SHAPE="RECT" COORDS="127,7,156,34" HREF="javascript:pad('(')"> <area SHAPE="RECT" COORDS="166,7,195,35" HREF="javascript:clearit()"> </map> <form NAME="calc">    <table BORDER="1" BGCOLOR="#C0C0C0">       <tr>          <td WIDTH="213"><center>
    
                 <input NAME="shownum" VALUE MAXLENGTH="25" SIZE="25"> 						<input name="nomeArticolo" disabled="true" size="25"></p></center>          </td>       </tr>       <tr>          <td WIDTH="213">             [img]Immagini/calcbttn.gif[/img]</p></center>          </td>       </tr>    </table> </form> <button type="button" onclick="">Ok</button> </body> </html>
    .

    allora al passaggio tra il pop up 1 e il pop up 2 riesco tranquillamente a passargli il valore ma dopo non riesco a passare il tutto alla pagina principale(cioè non ci arrivo concettualmente ), il secondo problema è quello che se io al momento della chiamata dal pop up 1 al pop up 2 decidessi di chiudere il popup 1 per anche il valore recuperato...

    Spero di essermi espresso correttamente

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non ci siamo:
    A) Quando ti si chiede qualcosa (demo pubblica) si esegue oppure simotiva l'impossibilità (in questo caso rischi l'abbandono non tutti hanno tempo o voglia di ricreare il tuo problema) le richieste sono sempre dettate dall'esperienza, ma se le ignori inutile chiedere aiuto
    B) Posta sempre codice fomattato su più righe rende più facile la lettura
    C) Posta sempre la pagina come la riceve il browser, inserire codice sever (asp/php) oltre a confondere non tutti lo conoscono e potrebbe non evidenziarsi un errore.

    Attenzione ricordati che tra popup o pagine madri deve essereci una collegamento/correlazione altrimenti non ci può essere scambio dati (escludendo querystring)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    Originariamente inviato da cavicchiandrea
    Non ci siamo:
    A) Quando ti si chiede qualcosa (demo pubblica) si esegue oppure simotiva l'impossibilità (in questo caso rischi l'abbandono non tutti hanno tempo o voglia di ricreare il tuo problema) le richieste sono sempre dettate dall'esperienza, ma se le ignori inutile chiedere aiuto
    B) Posta sempre codice fomattato su più righe rende più facile la lettura
    C) Posta sempre la pagina come la riceve il browser, inserire codice sever (asp/php) oltre a confondere non tutti lo conoscono e potrebbe non evidenziarsi un errore.

    Attenzione ricordati che tra popup o pagine madri deve essereci una collegamento/correlazione altrimenti non ci può essere scambio dati (escludendo querystring)
    scusami tanto cavicchiandrea , ma per demo pubblica intende cosa si intende?

  6. #6
    forse la risposta è banale, ma per tornare alla pagina iniziale usi
    codice:
    window.opener
    Quindi allo scaturire dell'evento sul popup
    Codice PHP:
    function funzioneEvento(){
    window.opener.document.getElementById("ID_INPUT").value="valore"//se devi ritornare il tutto ad un campo


    Se ho capito te eri in difficoltà su questo... vero?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    Originariamente inviato da rinosan_76bis
    forse la risposta è banale, ma per tornare alla pagina iniziale usi
    codice:
    window.opener
    Quindi allo scaturire dell'evento sul popup
    Codice PHP:
    function funzioneEvento(){
    window.opener.document.getElementById("ID_INPUT").value="valore"//se devi ritornare il tutto ad un campo


    Se ho capito te eri in difficoltà su questo... vero?
    Ciao rinosan_76bis

    nell'attesa , ho modificato un pò la struttura, se io all'evento volessi richiamare una funzione contenuta nella pagina pricipale(che sarebbe aggiungiRigaB) e passargli due variabili come faccio ?

    io ho provato cosi, ma mi da errore:

    il codice è questo:
    codice:
    function fine(){
    lotto = document.getElementByname("shownum").value;
    quantita = document.getElementByname("nomeArticolo").value;
    window.opener.aggiungiRigaB(lotto,quantita);
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    ok ragazzi, risolto

    ora mi è rimasto solo un problema, cioè quello che quando faccio il self.close() non riesco a recuperare più i dati di quella pagina come posso fare?

  9. #9
    se il popup2 prende i dati al volo dal popup1 non puoi chiudere il popup1 da "se stesso" perchè non riesci a leggere i dati. O li passi con querystring e quindi puoi chiudere senza problemi o fai chiudere il popup1 dal 2 così sei sicuro che i dati sono arrivati
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

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 © 2025 vBulletin Solutions, Inc. All rights reserved.