Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490

    invio di dati tra due finestre

    ho una funzione in javascript che scrive sul documento un link che richiama un prompt() per invitare l'utente ad inserire l'url di un file, ora ho la necessità che il link non chiami un propt ma crei una nuova finestra dove si può andare a cercare per esempio una immagine sul pc fatto inserisci carica l'immagine sul server e infine la finestra si chiuda e ritorna alla funzione chiamante del documento chiamante il nome del file scelto per essere caricato.
    spero di essere stato chiaro

  2. #2
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518
    se hai la possibilità di limitare il browser del client, ovvero SOLO Internet Explorer perchè sei in una LAN, puoi usare le finestre modali che consentono il passaggio dei dati. Guardati un po' di guide sul metodo window.openModalDialog

    altrimenti

    devi utilizzare il metodo window.open per aprirti la finestra, quindi

    per inviare i dati: puoi o passarli nella querystring oppure dalla finestra aperta arrivare alla finestra padre tramite l'oggetto window.opener e andare a pescarti i dati che ti interessano

    per ritornare i dati: io faccio dei campi nascosti nella finestra padre e poi sempre tramite l'oggetto window.opener li setto con il valore dei campi inseriti nella finestra figlio.
    Cacca!

  3. #3
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    non posso limitare il browser perchè sarà una applicazione on-line, quindi mi sà che devo utilizare la seconda ipotesi, potresti farmi qualche esempio con del codice perchè javascript non lo conosco molto bene.

  4. #4
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518
    allora... file try.htm (cioè quello di partenza)

    codice:
    <html>
    <head>
    <title>Documento senza titolo</title>
    <script language="javascript">
    function apriFinestra() {
    // apre la finestra, qui puoi cambiare la visualizzazione grafica, guardati la guida del metodo
    	window.open("try2.htm", "", "") }
    </script>
    </head>
    <body>
    Valore da passare: <input type="text" id="val_da_mandare">
    <input type="button" value="Apri e passa il valore!" onclick="apriFinestra()">
    
    Valore ritornato: <input type="text" id="val_ritornato">
    </body>
    </html>
    e file try2.htm

    codice:
    <html>
    <head>
    <title>Documento senza titolo</title>
    <script language="javascript">
    function tornaValore() {
    /* funzione che ritorna il valore settando direttamente il value del campo nella finestra opener (cioè quella che ha aperto la finestra corrente */
    	window.opener.document.getElementById("val_ritornato").value = document.getElementById("val_da_tornare").value
    	window.close()
    }
    
    function caricaValore() {
    /* funzione che carica il valore andando a leggere direttamente il value del campo nella finestra opener (cioè quella che ha aperto la finestra corrente */
    	document.getElementById("val_caricato").value = window.opener.document.getElementById("val_da_mandare").value
    }
    
    window.onload = caricaValore // all'apertura carico il valore passato
    </script>
    </head>
    <body>
    Valore caricato: <input type="text" id="val_caricato">
    
    Valore da ritornare: <input type="text" id="val_da_tornare"><input type="button" value="Torna il valore e chiudi!" onclick="tornaValore()">
    </body>
    </html>
    altrimenti il valore puoi passarlo nella querystring, come ti viene più comodo... dipende un po' dai valori che devi passare e da quello che devi farci nella finestra aperta
    Cacca!

  5. #5
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    ok grazie gli dò un'occhiata e ti faccio sapere

  6. #6
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    dovrei fare in modo che la finestra chiamata ritornasse il valore stringa in una variabile della finestra chiamante e non in un campo del form come posso fare

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.