Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    popup e window.opener: come funziona?

    Ciao, ho bisogno di un grande aiuto x' non so proprio dove altro sbattere la testa.
    Ho una pagina con vari input text, in alcuni di questi devo inserire delle date. Accanto ad essi ho messo un link che richiama un popup contenente un calendario (creato in asp).
    Quando clicco sulla data da me scelta vorrei che questa fosse scritta nel campo della pagina da cui apro il calendario.
    Ecco il codice js:

    MAIN WINDOW (c'è una funzione per poter passare di volta in volta il nome del campo, visto che c'è più di una data):
    codice:
    <input type="text" name="date_raised" size="12" maxlength="10">
    calendario
    
    function ApriCalendario(pagina,campo) {
      pp = window.open(pagina + '?campo=' + campo, 'calendario', 'width=280,height=250,top=100,left=300,resizable=no,scrollbar=yes');
    }
    PAGINA CALENDARIO:
    codice:
    function CheckWin(){
        if (window.opener) {
        	mainpage = window.opener;
     	campo = 'date_raised';
        }	
    }
    function InsData(data) {
        mainpage.campo.value = data;
    }
    
    <body onload="CheckWin();">
    
    giorno
    Fatto così mi dà l'errore "mainpage.campo non è un oggetto"
    Ho provato a specificare il nome del campo senza usare variabili ma è la stessa cosa e non so proprio come uscirne

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    se campo è un input type=text allora sarà all'interno di un form, quindi avrai:

    mainpage.nomeform.campo.value = data;

  3. #3
    Grazie, ma non funziona nemmeno così
    Sto provando tutte le combinazioni possibili, prima o poi dovrò riuscirci

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    così ?

    mainpage.document.nomeform.campo.value = data;

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il codice inviato e' un po' "sporco", suppongo provenga dal sorgente di una pagina asp... adatta questo:

    var mainpage;
    var campo;
    function CheckWin(){
    if (window.opener) {
    mainpage = window.opener;
    campo = 'date_raised';
    }
    }
    function InsData(data) {
    mainpage.getElementById(campo).value = data;
    }

    <body onload="CheckWin();">

    ');">giorno

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Specificando il nome del form e del campo mi funziona
    mainpage.frmNewBug.date_raised.value = data;

    ora vedo se riesco a farlo funzionare usando delle variabili da mettere al posto del nome form e del campo

  7. #7
    grazie br1, ho letto il msg dopo aver postato il mio... ora provo come hai scritto tu x' devo assolutamente farlo funzionare passandogli delle variabili

  8. #8
    GGGGGGGRRRRRRRRRAAAAAAAAZZZZZZZZZZZZZIIIIIIIIEEEEE EEEEEEEE!!!!!!!!

    Per far funzionare il tuo script ho corretto aggiungendo "document" prima di getElementById.

    :mavieni:

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.